[JAVA] this

집 가고 싶다.·2023년 12월 27일

JAVA

목록 보기
16/33
post-thumbnail

1-1. this란?

  • 자기 자신을 의미하는 키워드
  • 클래스 안에서 this를 사용하여 "자기자신"을 표현한다.
class Student {
    String name;            // 클래스에서만 작동
    public void setName() { // 메모리를 따로 할당함
        String name;        // 메서드에서만 작동
        name = "자바학생";   // 지역변수 name에 '자바학생'을 할당
        this.name = "홍길동";// 클래스에 있는 name에 '홍길동'을 할당
    }
}
  • 멤버변수와 지역변수가 동일한 이름으로 공존할 경우 유효성 범위가 작은 변수가 우선적으로 인식된다.
public static void main(String[] args) {
    Student s = new Student();
    s.setName();
    System.out.println(s.name); // 결과: null
}

2. this를 사용하여 파라미터와 멤버변수 구분하기

  • 파라미터도 해당 메서드 내에서만 유효한 지역 변수입니다.
  • 파라미터를 사용하여 멤버 변수의 값을 설정할 때, 일반적으로 변수 이름을 동일하게 지정하고 'this' 키워드를 사용하여 구분합니다.
class Student {
    String name;	// 멤버변수 선언
    public void setName(String name	// 지역변수 선언) {
        this.name = name;	// 멤버변수 = 지역변수
    }
}

3. 현재 클래스의 메소드를 가리키는 용도로 'this' 사용

class User {
    public String getName() {
        String name = "자바학생";
        return name;
    }

    public void sayName() {
        String myName = this.getName();
        System.out.println(myName);
    }
}
  • 'this.getName()'을 통해 현재 클래스에 속한 다른 메서드를 명시적으로 호출할 수 있습니다.

result

  • 'this' 키워드는 코드 가독성을 높이고, 멤버 변수와 지역 변수를 구분하여 사용할 때 유용합니다.
  • 클래스 내에서 변수 이름이 충돌할 때, 'this'를 통해 명시적으로 멤버 변수를 가리킬 수 있습니다.
profile
틀린거 있으면 알려주세요.

0개의 댓글