Language/JAVA

[JAVA 기초 이론] 클래스 class / object

오류나면꽥꽥 2023. 5. 8. 15:02

class

  • JAVA의 기본 단위
  • 객체를 만들어 내기 위한 설계도 또한 틀과 같은 의미로 사용

 

 

 

objcet 클래스

  • JAVA에서 기본 제공 해주는 최상위 클래스

 

 

 

 

📌 클래스의 구성

 

  1. 멤버변수
  2. 생성자
  3. 메서드

* 내가 만든 class는  pubIic을 붙일 수 없다.

 

📍 생성자를 생성하지 않아도 기본으로 생성자를 제공!  

class Person {
    // 속성(멤버 변수)
    String name;

    // 메서드
    public void greet() {
        System.out.println("Hello, my name is " + name);
    }
}

 

 

📍 생성자를 1개라도 생성하면, 기본 생성자 제공 안됨!

class Person {
    // 속성(멤버 변수)
    String name;
    int age;

    // 생성자
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 메서드
    public void greet() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }
}

 

만든 클래스를 main 클래스에서 사용

 

// Person 클래스 정의
class Person {
    // 속성(멤버 변수)
    String name;
    int age;

    // 생성자
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 메서드
    public void greet() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }
}

public class Main {
    public static void main(String[] args) {
        // Person 객체 생성
        Person person1 = new Person("Alice", 30);
        Person person2 = new Person("Bob", 25);

        // 메서드 호출
        person1.greet(); // "Hello, my name is Alice and I am 30 years old."
        person2.greet(); // "Hello, my name is Bob and I am 25 years old."
    }
}

 

 

 

 

 

 

 

✅ 생성자 오버로딩

 

생성자는 인자가 많은 순서대로 만든다!

- 생성자를 여러개 만들어 main()에서 객체 만들때 INPUT 값에 생성자에 여러개의 INPUT값을 선택하여 사용 가능

 

 

 

ex)

class Student2{
    String name;
    int score;

    // 생성자 오버로딩
    Student2(String n){
        this.name=n;
        this.score=0;
        System.out.println(this.name+"학생 출석부에 입력완료!");
    }
    
    Student2(String n,int s){
        this.name=n;
        this.score=s;
        System.out.println(this.name+"학생 출석부에 입력완료!");
    }

    void hello() {
    	System.out.println("안녕, 난 "+this.name+"야. "+this.score+"점");
    }
}

public class Test07 {
    public static void main(String[] args) {
        Student2 student1=new Student2("아무무",97);

        Student2 student2=new Student2("티모");
        Student2 student3=new Student2("아리");

        student1.hello();
        student2.hello();
        student3.hello();
    }
}

 

출력)

더보기

안녕, 난 아무무야. 97점

안녕, 난 티모야. 0점

안녕, 난 아리야. 0점