this && this()

Mixer·2022년 5월 11일
0
post-thumbnail

this()

this() 메소드는 생성자 내부에서만 시용할 수 있으며, 같은 클래스의 다른 생성자를 호출할때 사용한다.
this() 메소드에 인수를 전달하면, 생성자 중에서 메소드 시그니처가 일치하는 다른 생성자를 찾아 호출해준다.

⚑ 메소드 시그니처란? 메소드의 이름과 메소드의 원형에 명시되는 매개변수 리스트를 가르킨다.

this 참조 변수

this 참조 변수는 인스턴스가 바로 자기 자신을 참조하는데 사용하는 변수
이러한 this 참조 변수는 해당 인스턴스의 주소를 가르키고 있다.

위 이미지처럼 생성자의 매개변수 이름과 인스턴스 변수의 이름이 같을 경우에는 인스턴스 변수 앞에 this 키워드를 붙여 구분해야한다.

이렇게 자바에선 this 참조 변수를 사용하여 인스턴스 변수에 접근할 수 있다.
이러한 this 참조 변수를 사용할 수 있는 영역은 인스턴스 메소드뿐이며, 클래스 메소드에는 사용할 수 없다.
모든 인스턴스 메소드는 this 참조 변수가 숨겨진 지역 변수로 존재하고 있다.

위 이미지처럼 매개변수를 가지는 첫번째 생성자는 this 참조 변수를 사용하여 인스턴스 변수에 접근하고 있다.
또한, 매개변수를 가지지 않는 두번째 생성자는 내부에서 this()메소드를 이용하여 첫번째 생성자를 호출했다.
이렇게 내부적으로 다른 생성자를 호출하여 인스턴스 변수를 초기화 할 수 있다.

⚑ 한 생성자에서 다른 생성자를 호출할 때에는 반드시 해당 생성자의 첫 줄에서만 호출이 가능하다.

👉🏼상세내용은

profile
Minthug'life

0개의 댓글