-
[Java] this와 this()의 차이점Java/Java 개념 2022. 7. 10. 19:33
자바에는 this 키워드와 this() 키워드가 존재한다.
둘은 비슷해 보이지만 완전 다른 의미를 가지고 있는데,
간단히 설명하자면, this는 인스턴스 자기 자신을 가르키는 참조변수이고, this()는 생성자를 호출할 때 사용된다.
this
class Student { String name; int std_num; // 학번 public Student(String name, int std_num) { this.name = name; this.std_num = std.num; } }
this는 생성자의 입력매개변수로 선언된 변수의 이름이 필드변수의 이름과 같을 때 구분해주기 위해서 사용된다.
Student() 생성자 안에서 this.name은 필드변수의 이름이고, name은 입력매개변수의 이름이다.
static 메서드에서는 this를 사용하지 못한다. (현재는 인스턴스 메서드)
this()
class Student { String name; int std_num; // 학번 public Student(String name, int std_num) { this.name = name; this.std_num = std.num; } public Student() { this("홍길동", "1"); // Student(String name, int std_num) 호출 } public Student(String name) { this(name, "1"); } }
this()는 같은 클래스의 다른 생성자를 호출할 때 사용한다.
Student() 생성자와 Student(String name) 생성자는 this()를 통해 Student(String name, int std_num)를 호출한다.
이미지 출처 : https://img1.daumcdn.net/thumb/R300x0/?fname=https://k.kakaocdn.net/dn/V1ucN/btqDH1ojPn4/MGJbrAY4vcPdYIxgYvb6nk/img.png
'Java > Java 개념' 카테고리의 다른 글
[Java 개념] 자바 그래픽 GUI AWT 설명 및 예제 (0) 2022.09.01 [Java] 제어문(선택 제어문 / 반복 제어문), 제어 키워드 (0) 2022.07.15 [Java] 클래스 외부, 내부 구성 요소 (2) 2022.07.09 [Java] 중첩 for문으로 별찍기 (1) 2022.07.06 [Java] 논리 연산자(&&, ||)와 비트 연산자(&, |)의 차이 (2) 2022.07.05