Java 생성자(constructor)

nathan·2021년 12월 30일
0

JAVA

목록 보기
12/45

생성자(constructor)

  • iv 초기화 매서드
  • 이름이 클래스 이름과 같아야 한다.
  • 리턴 값이 없다.(void 안붙여도 된다 - 규칙)
  • 모든 클래스는 반드시 생성자를 가져야 한다.

클래스이름(타입 변수명, 타입 변수명, ...){
// 인스턴스 생성시 수행될 코드,
// 주로 인스턴스 변수의 초기화 코드를 적는다.
}

기본 생성자(default constructor)

  • 매개변수가 없는 생성자
  • 클래스이름() {} : 원래는 직접 작성해야하나 생성자가 하나도 없을 때에는 컴파일러가 자동으로 추가한다.
public class EX6_11 {
    public static void main(String[] args) {
        Data_1 d1 = new Data_1();
        Data_2 d2 = new Data_2(); // compile error 발생
        // The constructor Data_2() is undefined
        Data_2 d2 = new Data_2(22);
        
    }
}

class Data_1 {
    int value;
}

class Data_2 {
    int value;
    Data_2(int x){
        value = x;
    }
}

매개변수가 있는 생성자

public class EX6_12 {
    public static void main(String[] args) {
        Car c = new Car("white", "auto", 4);
        c.printCar();
    }
}


class Car{
    String color;
    String gearType;
    int door;

    Car() {} // 기본 생성자
    Car(String c, String g, int d){
        color = c;
        gearType = g;
        door = d;
    }

    void printCar(){
        System.out.println(color + '-' + gearType + '-' + door);
    }
}
profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글