Languages/Java

[Java]this 키워드의 의미와 사용 방법

MoonSta 2023. 2. 14. 12:31

📌this는 무엇일까?

  Java 소스를 보다 보면 this는 많이 등장하는 키워드 중 하나이다. 과연 이 this는 무엇일까? Java에서 this는 생성된 인스턴스 즉, 자기 자신을 가리키는 키워드이다. Java 프로그래머라면 반드시 알아야 하는 개념이기 때문에 이번 포스팅에서는 this의 의미와 사용 방법에 대해 작성하도록 하겠다.

 

📌Java에서의 this란?

  • 객체 자신의 참조값을 가진다. 
  • 생성자에서 다른 생성자를 호출하는 겨우 사용한다.
  • 인스턴스가 자기 자신의 주소를 반환하는 경우 사용한다.

 

📌this를 사용하지 않는 경우

class Member {

    private String member_name
    private int member_age
    
    public void setName(String member_name) {
        member_name = member_name;
    }
 }

🪓보통 프로그래밍을 하다 보면 위의 코드처럼 클래스를 만들 때 메서드(함수)나 생성자에서 사용하는 매개변수가 클래스의 멤버 변수와 이름이 같도록 코드를 작성한다. 일종의 암묵적인 규칙인 셈이다. 위의 코드를 실행하게 되면 결과적으로 동일 클래스 안에서는 매개변수가 멤버변수가 우선순위가 높아서 멤버변수에 매개변수의 값이 저장되지 않을 것이다. 이러한 문제를 해결하기 위해 우리는 this 키워드를 사용하여 구분을 지어준다. 이제 위의 코드를 this를 사용하여 다시 작성해 보자.

 

 

📌this를 사용하는 경우

class Member {

    private String member_name
    private int member_age
    
    public void setName(String member_name) {
        this.member_name = member_name;
    }
 }

🪓이와 같이 앞에 this. 를 사용하여 멤버변수에 접근하여 매개변수로 받은 값을 멤버 변수에 담을 수 있다. 

 

📌정리 

 사실  매개변수명과 멤버변수의 이름이 다르다면 this 키워드를 사용할 필요가 없다. 하지만 코드의 가독성을 높이기 위해 대부분의 개발 자기 동일하게 사용하고 있다.  추가적으로 JAVA에서의 생성자에 대한 개념도 필요하기 때문에 생성자에 관련된 내용은 다음 글에 포스팅하도록 하겠습니다. 감사합니다.