-
객체 자신을 가리키는 참조변수 this공부/Java 2024. 1. 4. 05:40
객체 자신을 가리키는 참조변수 this
예시를 먼저 보고 설명하면 좋을 것 같아 예시를 먼저 첨부하겠다.
예시
왼쪽 코드의 'color = c';는 생성자의 매개변수로 선언된 지역변수 c의 값을 인스턴스변수 color에 저장하는 것이다.이 때 변수 color와 c는 이름만으로도 서로 구별되므로 아무런 문제가 없다.
하지만 오른쪽 코드처럼 생성자의 매개변수로 선언된 변수의 이름이 인스턴스 변수와 같을 경우, 이름만으로는 두 변수가 서로 구별이 되지 않는다.이런 경우에는 인스턴스 변수 앞에 'this'를 사용하면 된다.this.color는 인스턴스 변수, color는 생성자의 매개변수로 정의된 지역변수로 서로 구별이 가능해진다.
생성자의 매개변수로 인스턴스 변수들의 초기값을 제공받는 경우가 많기 때문에 매개변수와 인스턴스 변수의 이름이 일치하는 경우가 많다.
this는 참조변수로 인스턴스 자신을 가리킨다.참조변수를 통해 인스턴스의 멤버에 접근할 수 있는 것처럼, this로 인스턴스 변수에 접근할 수 있는 것이다.
this와 this()는 비슷하게 생겼을 뿐 완전히 다르다.
this인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다.모든 인스턴스 메서드에 지역변수로 숨겨진 채 존재한다.
this()생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다.
※ this는 참조변수이고, this()는 생성자라는 걸 구분하자.
'공부 > Java' 카테고리의 다른 글
각 타입의 기본값(default value) (0) 2024.01.08 변수의 초기화와 멤버변수의 초기화 (4) 2024.01.08 생성자 this() (4) 2024.01.04 오버로딩 (overloading) (0) 2023.12.29 static 메서드와 인스턴스 메서드 (0) 2023.12.24