본문 바로가기
Java

[Java] 객체지향_생성자; 기본 생성자와 매개변수 생성자

by 나는 개발자 2021. 1. 10.
TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다.

 

 

 

객체지향의 클래스는 [필드부 + 생성자부 + 메소드부]의 조합으로 이루어져 있다.

 

 

생성자부

생성자는 객체를 생성해주는 역할을 한다. 생성자부가 존재하지 않는다면 Jvm이 자동으로 기본생성자를 작성해준다.

매개변수로 전달받은 값들을 해당 필드에 바로 초기화할 수 있다.

 

 public 클래스명( 매개변수, 매개변수, . . ) {

}

 

 

 

기본 생성자) 

매개변수가 없는 생성자는 기본생성자라고 부른다. 

기본생성자는 단지 객체 생성만을 목적으로 하며

JVM이 자동으로 만들어주기 때문에 생략한다고 해서 오류가 생기지는 않는다.

오른쪽에 보이는 것이 기본생성자 

 

 

 

매개변수 생성자)

매개변수를 사용하여 전달값을 바로 초기화 동시에 호출을 해준다.

이미 전달받을 값이 정해져 있다면, 매개변수 생성자를 이용하는 것이 좋다.

좌측을 보면 생성과 동시에 초기화후 호출을 해주었고, 우측을 보면 전달값을 받을 매개변수를 정의해놓았다.

매개변수 생성자가 있다고 해서 세터/게터메소드가 불필요한 존재가 되는 것이 아니다. 

매개변수 생성자는 초기화할 때 사용하며, 세터메소드는 각 필드값을 수정하는 용도로 사용하니 꼭 필요로 하다.

게터메소드는 하나의 필드값에 대한 정보를 알아와야 하기 때문에 필요하다.

 

 

 

 

생성자 작성 시 주의사항)

반드시 생성자명은 클래스명과 동일하게 작성해야 한다.

public과 클래스명 사이에 반환형은 존재하지 않는다. (메소드와 유사해서 헷갈릴 수 있으니 주의)

 

댓글