this 키워드의 5가지 핵심 사용법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Java 초보 개발자 및 중급자
- 객체지향 프로그래밍(OOP) 개념 학습자
- 코드 가독성 향상 및 실무 적용을 원하는 개발자
핵심 요약
this
키워드는 인스턴스 변수와 지역 변수의 이름 충돌을 해결 (this.name = name
)- 메소드 호출 시 명시적으로
this.square()
를 사용해 코드 가독성 향상 - 생성자 체인(
this(1,1,1)
)을 통해 객체 초기화 단순화 - 현재 객체를 다른 메소드/클래스로 전달 시
this
사용 (listener.onEvent(this)
) - 클래스 간 의존성 관리에 활용 (
new Engine(this)
)
섹션별 세부 요약
1. 지역 변수와 인스턴스 변수 이름 충돌 해결
this.name
으로 인스턴스 변수를 명시적으로 참조- 생성자 파라미터와 필드 이름이 동일할 경우
this
로 구분 - 예시:
this.name = name;
2. 동일 클래스 내 메소드 호출
this.square()
로 메소드 호출 명시화- 명시적 사용이 코드 가독성 향상에 기여
- 예시:
return this.square(a) + this.square(b);
3. 생성자 체인 활용
- 기본 생성자에서 파라미터 생성자 호출 (
this(1,1,1)
) - 생성자 체인은 첫 줄에 반드시 위치해야 함
- 예시:
public Box() { this(1, 1, 1); }
4. 현재 객체를 다른 메소드/클래스로 전달
- 이벤트 리스너 등록 시
this
전달 (listener.onEvent(this)
) - 객체 간 의존성 관리 용이
- 예시:
public void registerListener(Listener listener) { listener.onEvent(this); }
5. 객체 간 의존성 주입
Car
객체를Engine
생성자에 전달 (new Engine(this)
)- 클래스 간 상호작용 명확화
- 예시:
engine = new Engine(this);
결론
this
키워드는 변수 충돌 해결, 메소드 호출 명시화, 생성자 체인, 객체 전달 등에서 핵심 역할- 코드 가독성 향상과 유지보수성 향상을 위해
this
를 적극 활용해야 함 - 생성자 체인은 반드시 첫 줄에 선언해야 하며, 객체 전달 시 인터페이스 설계에 유의해야 함