[JAVA] 생성자(Constructor)
@욕심쟁이
·2020. 8. 21. 15:42
반응형
생성자(Constructor)
- 모든 클래스는 생성자가 반드시 존재
- 객체를 생성할 때 new 연산자 뒤에 붙어서 호출되며, 객체초기화를 담당하는 메서드의 일종
- 객체생성시 호출 가능 임의로 호출 불가능
- 메서드와 다른점
1) 생성자의 이름을 반드시 클래스명과 동일해야 한다!
2) 리턴 타입을 기술하지 않는다.(리턴 타입이 없다.)
- 클래스 정의 시 생성자를 하나도 정의하지 않을 경우
: 컴파일러에 의해 기본 생성자 (Default Constructor)가 자동으로 생성됨(public 클래스명(){})
→ 매개변수가 없고, 중괄호 블록 내에 코드가 없는 빈 생성자
- 클래스에 명시적으로 선언한 생성자가 1개라도 있으면 컴파일러는 기본 생성자를 추가하지 않음
→ 문제점 : 파라미터가 없는 기본생성자를 호출하면 오류 발생!
→ 기본 생성자를 명시적으로 정의하거나, 파라미터 생성자의 매개변수와 일치하는 인자를 전달하도록 해야 함
- 매개변수와 일치하는 인자를 전달하도록 해야 함
<생성자 정의 기본 문법>
[접근제한자] 클래스명([매개변수...]){
//생성자 호출(객체 생성)시 수행할 코드들....
}
<기본 생성자 형태>
public 클래스명(){}
- 클래스가 public class로 선언되면 기본 생성자에서도 public이 붙지만,
클래스가 public 없이 class로만 선언되면 기본 생성자에도 public이 붙지 않음
public class a{
public a(){}
}
class b{
b(){}
}
반응형
'IT > JAVA' 카테고리의 다른 글
[JAVA] 생성자 오버로딩(생성자 다중정의) (0) | 2020.08.21 |
---|---|
[JAVA] 생성자 필드(멤버변수) 초기화 (0) | 2020.08.21 |
[JAVA] 메서드 오버로딩 3탄 (0) | 2020.08.19 |
[JAVA] 메서드 오버로딩 2탄 (0) | 2020.08.19 |
[JAVA] 메서드 오버로딩 1탄 (0) | 2020.08.19 |