자바의 정석 - 기초편

생성자 this(), 참조변수 this

ODaram 2022. 8. 8. 17:48

생성자 this()

 - 생성자에서 다른 생성자 호출할 때 사용

 - 다른 생성자 호출 시 첫 줄에서만 사용가능

 

                                              >> 

                                               -  1,2 의 매개변수를 3에서 호출함

                                               - Car2 가 아닌 this를 사용함`

                                               - 같은 클래스 안에 있는 생성자들 끼리 호출 할 때는 class 이름 대신 this 를 사용함 (규칙)

                                               - 1,2 의 생성자는 모두 iv 초기화 하는 역할을 함

                                               - 오버로딩 할 때, 이름이 같은 메서드들은 하는 일이 같은 경우에 이름을 같이 줌

                                                         > 코드 중복을 제거하기 위해  생성자들 끼리 서로 호출 하는 일이 많음

                                                         > 이때 this()를 사용함

 

                                              > 코드 중복을 막기 위해 this()를 사용하여 코드 변경함

                                              >> color = white, gearType = auto, door = 4 로 변경됨           

                                              

참조변수 this

 - 인스턴스(=객체) 자신을 가리키는 참조변수                               

 - 인스턴스 메서드(생성자 포함)에서 사용 가능

 - 지역변수 (lv)와 인스턴스 변수 (iv) 를 구별할 때 사용

 

참조변수 this와 생성자 this()

 this 인스턴스 자신을 가리키는 참조변수 인스턴스의 주소가 저장되어 있다.

        모든 인스턴스 메서드에 지역변수를 숨겨진 채로 존재한다.

        -> 선언하지 않아도 사용 가능

 this (), this (매개변수)   생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다.

 

 참고) this와 this()는 비슷하게 생겼을 뿐 완전히 다른 것이다. this는 '참조 변수'dlrh, this()는 '생성자' 이다.

            this 사용 가능 부분 = 생성자, 인스턴스 메서드 영역 / Class 메서드에서는 사용 불가