생성자(Constructor)
- 클래스 이름과 같은 이름을 가진 메소드
- 객체 생성 시 자동 수행됨
생성자는 호출문에 의해 동작하는 것이 아니고, 객체 생성 시 자동 수행되기 떄문에 return의 개념이 없다
그래서 리턴 타입을 쓸 필요가 없다.
public 클래스명( ) {
초기화 할 값들;
}
기본 생성자
- 매개변수를 갖지 않는 생성자를 말하며 Java는 사용자가 생성자를 하나도 만들지 않으면 기본 생성자를 제공
- 만약 사용자가 생성자를 한개라도 만들기 시작하면 자바는 더이상 기본 생성자를 제공하지 않음
생성자의 중복(Overloading)
- 생성자를 여러개 만들 수 있음
- 조건은 매개변수의 개수나 자료형이 다른 경우 중복해서 사용 가능하다.
아래 코드 예시는 모두 동작 가능한 생성자
public Person(String n, int a){
name = n;
age = a;
}
public Person(){
name = "매개변수 한개도 없음";
age = 0;
}
public Person(String n){
}
public Person(int n){
}
- 같은 클래스 내애서 매개변수와 멤버변수의 이름이 같을 경우 구분짓기 어렵기 때문에 멤버 자신을 구별하기 위한 용도로 this 를 붙여서 자기 자신임을 표현
this( )
- 생성자가 중복 정의되어 있을 경우 생성자 안에서 또 다른 생성자를 요구할 때에 사용하는 명령
주의사항
- 반드시 생성자의 첫번째 문장에 와야한다. (바로 아래 그림 확인)
- 해당 그림은 에러이다. this()가 첫번째 문장에 오지 않았기 때문이다.
비정상 동작 화면(에러)

정상동작 화면

반응형
'개발 > 자바' 카테고리의 다른 글
자바 상속 (0) | 2021.12.27 |
---|---|
매개변수(parameter), 인자(argument) 차이점 (0) | 2021.12.26 |
클래스, 인스턴스 (0) | 2021.12.26 |
클래스 자동 생성 방법 (Refactor) (0) | 2021.12.25 |
이클립스 폰트 변경 (0) | 2021.12.25 |
댓글