메소드의 이름이 클래스이름과 동일하고 리턴자료형이 없는 메소드(반환형이 없는 메소드)
객체가 생성될 때 (new키워드 사용시) 호출이 되는 메소드이다.
[표현법]
public 클래스이름(매개변수(생략가능)) {
해당 생성자를 통해서 객체 생성시 실행하고자 하는 코드.
}
참고) 메소드의 표현법
접근제한자 반환형 메소드이름(매개변수(생략가능)) {
}
생성자를 작성하는 목적
1. 객체를 생성해주기 위한 목적
2. 객체를 생성 뿐만 아니라 매개변수로 전달된 값들을 바로 필드에 초기화할 목적
생성자의 종류
1. 매개변수가 없는 생성자 => 기본생성자
2. 매개변수가 있는 생성자
=> 차이점 : 필드에 값을 초기화 할 수 있냐 없냐의 차이
생성자 작성시 주의사항
1. 반드시!!!!!!!!!!!!!!!!!!!! 생성자의 이름은 클래스이 이름과 동일해야함!!!!!(대/소문자까지!)
2. 반환형이 존재하지 않는다. (void 안붙임, 항상 반환값이 없기 때문에..)
3. 생성자가 여러개 생성이 가능하지만 매개변수가 중복이 되면 안된다. =>'오버로딩'
4. 매개변수 생성자 명시적으로 작성하게되면 기본생성자를 JVM이 안 만들어줌!
=> 기본생성자를 만드는 습관을 들이는게 좋다!
기본생성자(매개변수가 없다!!!!!)
단지 객체를 생성할 목적으로 사용! => 메모리 공간이 할당 될 때, 공간을 확보할 때!
기본생성자는 생략해도 오류가 나지 않음!
생성자를 하나도 안만들면 JVM이 기본생성자를 자동으로 만들어줌!!
=> 기본생성자는 "항상" 작성하자!!!
'*JAVA*' 카테고리의 다른 글
[java] 오버로딩(overloading) (0) | 2021.10.26 |
---|---|
[java] 객체 - 메소드(method) (0) | 2021.10.26 |
[java] 클래스 변수(static 변수)와 상수 필드(static final) (0) | 2021.10.25 |
[java] 접근제한자 (0) | 2021.10.25 |
[java] 전역변수/ 지역변수 (0) | 2021.10.25 |