본문 바로가기
Java

[Java] this 키워드와 super 키워드

by 스응 2023. 2. 8.
728x90
728x90

this의 기능 ① 자기 자신(객체)을 가리킴

// 예시 //

// 멤버변수
private String name;
private int age;

// 생성자
public Person(String name, int age) {
    // *** 여기서 this는 자기 자신을 가리킴 *** 
    this.name = name; 
    this.age = age;
}

 

this의 기능 ② 생성자에서 다른 생성자를 호출함

// 예시 //

// 멤버변수
private String name;
private int age;
private String phone;

// 생성자 1
public Person(String name, int age) {
    this.name = name;
    this.age = age;
}

// 생성자 2
public Person(String name, int age, String phone) {
    // *** 여기서 this는 다른 생성자를 호출함 ***
    this(name, age);  
    // == new Person(name, age);
    // 호출한 생성자에서 this.name = name;, this.age = age;가 실행되었으므로 
    // 현재 생성자에서는 생략 가능
    this.phone = phone;
}

 

this의 기능 ③ 자신의 주소 값을 반환함

// 예시 //

// Person 클래스에 대한 get 메서드
public Person getPerson() {
    // *** 여기서 this는 자기 자신의 주소 값을 반환함 ***
    return this;
}

 

  - 해당 기능을 이용하여 디자인 패턴 중 builder 패턴을 생성할 수 있음

 

 


super 키워드

  - 하위 클래스가 가지는 상위 클래스를 가리킴 : super.메서드명

  - 상위 클래스의 생성자 호출 : super();

  - 상속 관련 설명 : https://young0105.tistory.com/42

320x100
반응형

댓글