⭐️ 생성자 및 디폴트 생성자에 대하여 설명하시오.
💡 연산자
new
가 인스턴스를 생성하는 것이지, 생성자가 인스턴스를 생성하는 것이 아니다.
생성자는 단순히 인스턴스 변수들의 초기화에 사용되는 조금 특별한 메소드일 뿐다.
생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 유사하다.
클래스 이름 (타입 변수명, 타입 변수명, ...) {
//인스턴스 생성 시 수행될 코드,
//주로 인스턴스 변수의 초기화 코드
}
//예시 - 매개 변수가 없는 경우
TV () {
}
//예시 - 매개 변수가 있는 경우
TV (int inch) {
this.inch = inch;
}
public
인 경우에는 기본 생성자로 public 클래스이름() {}
이 추가된다.💡 기본 생성자
클래스 내에 정의된 생성자가 없을 때 컴파일러가 자동으로 추가해주는 생성자이다.
생성자도 메서드처럼 매개변수를 선언하여 호출 시 값을 넘겨받아서 인스턴스의 초기화 작업에 사용할 수 있다.
클래스를 작성할 때 다양한 생성자를 제공함으로써 인스턴스 생성 후에 별도로 초기화를 하지 않아도 되도록 하는 것이 바람직하다.
class TV {
String brand;
int madeYear;
int displayInch;
TV () {
brand = "undefined";
madeYear = 0000;
displayInch = 0;
}
TV (String brand, int madeYear, int displayInch) {
this.brand = brand;
this.madeYear = madeYear;
this.displayInch = displayInch;
}
)
⭐️ this 와 this 생성자는 무엇이며, 용도는?
: 다른 생성자를 의미
: 인스턴스 자신을 가리키는 참조변수