반응형
this()와 this 의 차이점!
우리는 자바를 공부하다보면 this()와 this를 볼 수 있는데 처음에는 '이게 같은건가?'라는 생각을 할 수 있지만
엄연히 둘은 전혀 관계가 없는 생성자와 참조변수이다!
this( ) 생성자
- 생성자의 이름, 클래스 이름 대신 this를 사용한다
- 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출 가능
Car(String color) {
door = 5; // 에러1
Car(color, "auto", 4); // 에러2
}
에러1. 생성자의 두 번째 줄에서 다른 생성자를 호출함
에러2. this(color, "auto", 4); 로 클래스 이름 대신 this를 사용해야함
this 참조변수
- 인스턴스 자신을 가리키는 참조 변수
- 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용
- 인스턴스 메서드에서만 사용가능
Car(String color, String gearType, int door) {
this.color = color;
this.gearType = gearType;
this.door = door;
}
앞에 this가 붙은 매개변수는 인스턴스 변수(iv)이고 뒤에 this가 안붙은 매개변수는 지역변수(lv)이다
lv와 iv를 구분하려 this를 붙힘!
※ this와 this()는 비슷하게 생겼을 뿐 완전히 다르다. this는 '참조변수' 이고 this()는 '생성자'이다
반응형
'Programming > Java, Spring' 카테고리의 다른 글
[JAVA] 변수 초기화란? / 명시적 초기화 / 변수의 초기화 시기와 순서 (0) | 2022.05.17 |
---|---|
[JAVA / JSP] 자바 빈즈(Java Beans)란? / 빈즈(Beans)의 장점 / 빈즈(Beans) 클래스 구조 (0) | 2022.05.15 |
[JAVA] 생성자(Constructor) / 생성자의 조건 /기본 생성자(defualt Constructor) (0) | 2022.05.11 |
[JAVA] 오버로딩(overloading)이란?? 메서드 오버로딩 / 오버로딩의 조건 / 오버로딩의 예 (0) | 2022.05.10 |
[JAVA] 기본형 매개변수와 참조형 매개변수 (0) | 2022.05.07 |