[Java] this 란?
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;
}
}
Author And Source
이 문제에 관하여([Java] this 란?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@brianhwang/Java-this-란저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)