참조변수 this

MIN·2023년 9월 22일

Java

목록 보기
10/36
post-thumbnail
이 글은 자바의 정석 기초편을 공부한 내용을 토대로 작성한 글입니다.
혹시 잘못된 내용이 있을 시 댓글로 알려주시면 감사하겠습니다 ^U^

class Pen {
int size;
String color;

Pen(String color, int size) {
	this.color = color;
    this.size = size;
}

위 코드에서 생성자의 매개변수 이름은 color, size 이다.
문제는 저 생성자 블록 { } 안에서 매개변수의 이름과 인스턴스의 변수 이름이 겹치는 것이다.

이때 사용해주면 좋은 것이 참조변수 this 이다.
this는 인스턴스의 변수를 뜻한다.

this.color = 인스턴스 변수
color = 생성자의 매개변수로 정의된 지역변수

물론 매개변수 내의 이름을 바꾸는 방법도 있지만 위와 같이 this를 사용하여 구별되도록 하는 것이 의미가 더 명확해진다.


하지만 this는 인스턴스 변수에서만 사용이 가능하다.
static 메서드에서 인스턴스 멤버들을 사용할 수 없는데 그 이유는 호출된 시점에서 인스턴스가 생성되지 않았을 수도 있기 때문이다.
같은 이유로 static 메서드에서는 this를 사용할 수 없다.

profile
기초부터 시작하는 감쟈 ※ 소개글 확인해주세요!! ※

0개의 댓글