생성자
객체 초기화 방법이라고 생각하면 된다.
- 객체 생성 시 new 키워드와 함께 호출된다.
- 인스턴스를 초기화한다. (주로 멤버 변수를 초기화)
- 반환 값이 없고 상속되지 않는다.
- 클래스 이름과 동일하다.
- 하나의 클래스에는 반드시 하나 이상의 클래스가 존재하야 하며
- 프로그래머가 구현하지 않으면 컴파일러가 default constructor를 만들어준다.
public class Subject {
int subjectID;
int score;
//default
public Subject() {};
//custom
public Subject(int id, int score) {
this.subjectID = id;
this.score = score;
}
}
default constructor
매개변수가 없고 구현부가 없는 기본 생성자
만약 클래스에 다른 생성자가 있으면 default constrcutor는 제공되지 않아서 따로 선언이 필요하다.
ㅇ
Contructor Overloading 생성자 오버로딩
그렇다면 위에 코드처럼 생성자가 두 개 이상이 있으면 어떻게 될까?
사용자가 여러 개 중 하나의 생성자를 선택할 수 있다.
private 변수도 생성자를 이용하여 초기화 가능하다.
public static void main(String[] args) {
//둘 다 가능하다.
Subject korea = new Subject();
Subject math = new Subject(1,10);
}
'프로그래밍 언어 > java' 카테고리의 다른 글
[java] this와 참조자료형 (0) | 2021.02.24 |
---|---|
[java] 접근 제어자, 정보 은닉 (0) | 2021.02.24 |
[java] 클래스와 인스턴스 (0) | 2021.02.22 |
[java] Optional과 orElse 시리즈 (0) | 2020.10.08 |
[java] extends vs implements (0) | 2020.10.02 |
댓글