몬그로이

생성자 본문

Organizing Docs/Java Docs

생성자

Mon Groy 2024. 5. 23. 20:00

메서드와 비슷한 기능을 가지고 있는데

굳이 생성자를 사용하는 이유

 

메서드를 사용하는 경우

Class MemberManagement 에

public Manage(int id, int roomnumber) {} 가 있다면

다른 클래스에서 사용할 때

MemberManagement m = new MemberManagement();

m.Manage(3, 301);

와 같은 방식으로 사용해야 한다면

 

생성자를 사용하는 경우

Class MemberManagement 에

public MemberManagement(int id, int roomnumber) {} 가 있을 경우

다른 클래스에서 사용할 때

MemberManagement m = new MemberManagement(3, 301);

와 같은 방식으로 사용한다

 

여기서 메서드의 두 번째줄은 생략해도 compile 오류가 발생하지 않아 잡아낼 수 없지만

생성자를 사용하면 매개변수가 등록되지 않은 경우 compile 오류가 발생하여

적절하게 잡아낼 수 있다 (실수 방지)

 

그러므로 메서드를 사용하려면 가능한 생성자를 이용하자

 

또한

 

생성자를 사용하면 객체지향적 설계에 더 가까워질 수 있다

클래스마다 필요한 권한만 부여하기 좋기 때문이다

 


생성자에서 this 사용

멤버변수 뿐 아니라 생성자를 호출할 때도 가능하다

 

생성자(name, age){

this(name, age, 50); }

 

의 this(name, age, 50); 는 아래의 생성자를 호출한다

 

생성자(name, age, grade){

this.name = name;

this.age = age;

this.grade = grade;}

 

단, this()는 생성자 코드의 첫 줄에만 사용 가능하다

 

 

'Organizing Docs > Java Docs' 카테고리의 다른 글

자바의 정석 5. 배열(Array)  (0) 2024.06.18
쓰기 지연 저장소와 지연 로딩  (0) 2024.06.04
Regrex 정규표현식(Regular Expression)  (0) 2024.05.31
JPA - Entity 연관 관계  (0) 2024.05.27
다형성(Polymorphism)  (0) 2024.05.23