this와 this(), 키워드this를 이용한 다른 생성자의 호출, this의 용법, 객체외부 vs 객체내부에서의 멤버접근

CODEDRAGON Development/Java

반응형


 

this this()

 

this

·       객체 내부에서 객체 자신을 지칭하고 싶을 때 사용합니다.

·       지역변수와 멤버변수를 구별해야 할 때 사용합니다.

·       객체 자신을 가리킬 수 있는 유일한 reference가 바로 this입니다.

 

 

 

this()

·       생성자 내부에서만 사용할 수 있으며, 같은 클래스의 다른 생성자를 호출할 때 사용합니다. , 현재 객체의 생성자를 의미합니다.

·       (주의) 생성자의 첫 행에 정의해야 합니다. 그렇지 않으면 컴파일시 오류가 발생합니다.

·       this()를 이용하여 한 클래스내의 특정 생성자에서 Overloading되어 있는 다른 생성자를 호출할 수 있게 합니다. 이렇게 함으로써 생성자에서 코딩 내용이 중복되는 부분을 막을 수 있습니다.

·       매개변수가 있는 경우 생성자는 입력받은 매개변수에 따라 이들 필드를 초기화합니다.

 

 

 

키워드this를 이용한 다른 생성자의 호출

·       키워드this를 이용하면 생성자내에서 다른 생성자를 호출할 수 있습니다.

·       이는 생성자의 추가정의에 대한 편의를 제공합니다.

·       생성자마다 중복되는 초기화 과정의 중복을 피할 수 있습니다.

 

 

 

this의 용법

형식

의미

this

·       객체 자신

·       파라미터 값으로 객체 자신의 참조값을 넘겨줄때에도 this 사용

this.멤버변수;

·       매개변수와 객체 자신이 가지고 있는 변수(멤버변수)의 이름이 같은 경우 이를 구분하기 위해 자신의 멤버변수에 this를 사용

this(매개변수);

·       생성자내에서 다른 생성자를 호출

·       this() 메소드에 매개변수를 전달하면, 생성자 중에서 메소드 시그니처가 일치하는 다른 생성자를 찾아 호출해 줍니다.

 

 

 

객체외부 vs 객체내부에서의 멤버접근

객체외부

객체의 이름 사용

pp1.name ="홍길동";

객체내부

this키워드 사용

this.name ="홍길동";