Beny's Study
13. This와 This생성자 본문
목차
- this
- this사용예시
- this 생성자
- this 생성자 사용예시
* this와 this()는 다르다!! 전혀 서로 관련없음*
this.
■ 객체 자신을 가리키는 참조변수
■ 인스턴스의 주소가 저장되어 있다, 모든 인스턴스메서드에 지역변수로 숨겨진채로 존재!
■ -> 인스턴스에서 사용가능!(지역변수와 인스턴스변수 구분!)
■ 함수 실행 시 전달되는 객체의 주소를 자동으로 받음
this사용예시_1(강의),2(자바정석)
public class MethodExam {
public String name="홍길동";
public void printName() {
String name = "이길동";
System.out.println("name : "+name);
System.out.println("this.name : "+this.name);
}
}
* 위와 같이 메서드 내 변수 명이 필드명과 같은 경우
메서드 내 변수가 우선이므로 this 객체를 이용하여 필드 사용 가능
Car(String color,String gearType,int door){//괄호안은 lv)
this.color = color;
this.gearType = gearType;
this.door = door;
//this.door의 door은 인스턴스변수
//=door;의 door은 지역변수
this ( )생성자
■ 생성자에서 다른 생성자를 호출하는 경우
-> 생성자의 이름으로 클래스이름 대신 this를 사용!
■ 한 생성자에서 다른 생성자를 호출할때는 반드시 생성자의 첫 줄에서만 혀용
this( ) 표현식
[접근제한자] [예약어] class 클래스명 {
[접근제한자] 클래스명() {
this(매개변수);
}
[접근제한자] 클래스명(매개변수) { (this.)필드명 = 매개변수; }
}
this( ) 사용예시
[this() 사용 예시 - ConstructorExam.java]
public class ConstructorExam {
public String name;
public int age;
public ConstructorExam(){
this("이름없음",0);
System.out.println("생성자1 호출");
}
public ConstructorExam(String name, int age) {
System.out.println("생성자2 호출");
}
}
[this() 사용 예시 - Run.java]
ConstructorExam ce1 = new ConstructorExam();
[자바의정석 this()사용예시]
Car(String color){
this(color,"auto",4);
}
//같은 생성자에서 다른생성자 호출할때 this()사용!!!!
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."
'[JAVA] > 07. 객체지향' 카테고리의 다른 글
15. Package (패키지) (0) | 2022.04.07 |
---|---|
14. JAVA 소스파일 구성 (0) | 2022.04.07 |
12. 생성자 (Constructor) (0) | 2022.04.07 |
11. Getter메소드 & Setter메소드 (0) | 2022.04.07 |
09. return(리턴) (0) | 2022.04.07 |