초보 개발자의 기록

매개변수가 있는 생성자(constructor) 본문

JAVA/Basic

매개변수가 있는 생성자(constructor)

bambinodeveloper 2021. 8. 2. 00:19
728x90

매개변수가 있는 생성자(constructor)

- 생성자도 메서드처럼 매개변수를 선언하여 호출 시 값을 넘겨받아 인스턴스의 초기화 작업에 사용가능

- 인스턴스마다 각기 다른 값으로 초기화되어야하는 경우가 많기 떄문에 매개변수를 사용한 초기화는 매우 유용

 

생성자에서 다른 생성자 호출

- 같은 클래스의 멤버들 간에 서로 호출할 수 있는 것처럼 생성자 간에도 서로 호출이 가능

  조건 1. 생성자의 이름으로 클래스이름 대신 this를 사용

        2. 한 생성자에서 다른 생성자를 호출할 떄는 반드시 첫 줄에서만 호출이 가능

          - 생성자에서 다른 생성자를 첫 줄에서만 호출이 가능하도록 한 이유는

            생성자 내에서 초기화 작업도중에 다른 생성자를 호출하게 되면,

            호출된 다른 생성자 내에서도 멤버변수들의 값을 초기화를 할 것이므로,

            다른 생성자를  호출하기 이전의 초기화 작업이 무의미해질 수 있기 떄문.

- 같은 클래스 내의 생성자들은 일반적으로 서로 관계가 깊은 경우가 많아,

  서로 호출하도록해 유기적으로 연결해주면 더 좋은 코드를 얻을 수 있음

- 수정이 필요한 경우에도 보다 적은 코드만을 변경하면 되므로, 유지보수가 쉬워짐

- 생성자의 캐개변수로 인스턴스변수들의 초기값을 제공받는 경우가 많기 떄문에

  매개변수와 인스턴스의 변수 이름이 일치하는 경우가 多.

  이때 this를 사용해 구변되도록하는 것이 명확하고 이해하기 쉬움

- this는 참조변수로 자기자신을 가리킴. this를 사용할 수 있는 것은 인스턴스멤버 뿐

 

 

 

728x90
반응형

'JAVA > Basic' 카테고리의 다른 글

JVM 메모리 구조  (0) 2021.08.02
변수의 타입  (0) 2021.08.02
import문  (0) 2021.08.01
패키지 (package)  (0) 2021.08.01
생성자 (Constructor)  (0) 2021.08.01