생성자와 this!!

song yuheon·2023년 8월 20일
0

생성자

  • 기본 생성자
    선언시 매개변수 ()안에 아무것도 없는 생성자
    컴파일러에 의해 생성된 기본 생성자는 해당 클래스의 접근제어자를 따른다.

생성자 역활 = 객체 초기화
생성자를 통해 필드 초기화 혹은 초기값 대입 가능

주의 - 생성자를 만들었을때 기본 생성자는 없는 상태로 기본 생성자 호출시 오류 발생

this & this()

  • this란?
    객체 자신을 표현하는 키워드
    this는 인스턴스 자신 의미 -> this를 이용해 자신의 주소 반환

  • this()
    객체 자신의 생성자를 호출하는 키워드

    +) this() 키워드를 사용해서 다른 생성자를 호출할 때는 반드시 해당 생성자의 첫 줄에 작성

     public Rectangle(int height) {
    this.height = height * 2;  
    this(0, height); 
}	

생성자를 첫줄에 안쓸시 this.height ~ 코드가 무의미 해짐
=> 초기화 작업이 중복으로 이루어지며, 무엇이 마지막에 실제로 저장되는지에 대한 혼란이 발생

이와 같은 혼란을 방지하기 위해 Java에서는 생성자에서 다른 생성자를 호출할 때 (this() 또는 super()) 해당 호출이 첫 번째 문장이어야 한다는 규칙을 설정

profile
backend_Devloper

0개의 댓글