[Java] this 란?

3409 단어 JavaJava

constructor(생성자)를 공부하면서 this 와 super에 대한 개념이 정확하게 정리 되지 않아서 기록을 남기기 위해 작성합니다. this? super? 는 무엇일까?

this?

  • 현재 클래스의 인스턴스를 의미하며, 현재 클래스의 맴버변수 (field) 를 지정할때 사용한다.
  • this는 주로 생성자와 메소드의 매개변수 이름이 맴버변수와 동일한 경우, 인스턴스 맴버인 맴버변수임을 명시하고자 할때 사용한다.
public class Person(){
    //맴버변수(field)
    private String name;
    private int age;
   	
    public Person(){}
    
    public void setAge(int a){
    	age = a; 
    }
}

위와 같이 메소드를 작성할 경우 setAge에 담기는 param 값이 어떤 값인지 a로 파악 하기 어렵기 때문에 이러한 경우 누구나 봐도 알아 볼 수 있게 필드 이름과 동일하게 작성하고 그 앞에 this를 붙이는 것이다.

public class Person(){
	
    //맴버변수 (field) 
    private String name;
    private int age;
    private String gender;
    
    //생성자
    public Person(){}
    
    
    public void setAge(int age){
    	this.age = age;
    }
}

좋은 웹페이지 즐겨찾기