생성자
1-1. 생성자란?
new 키워드를 사용하여 객체가 생성될 때 자동으로 실행되는 특수한 형태의 메서드.
리턴형을 명시하지 않으며, 메서드의 이름은 클래스와 동일하다.
class User{
User(){
// 생성자
// 이 안은 객체가 생성될 때 자동으로 호출된다.
}
}
User u = new User();
자동으로 실행된다는 특성 때문에, 객체가 생성되면서 해당 객체의 특성을 초기화하기 위하여 사용된다.
(ex: 멤버변수의 초기값을 할당하는 용도)
1-2. 기본 생성자
파라미터가 없는 생성자
클래스에 특별히 생성자가 정의되지 않은 경우 java컴파일러는 기본 생성자가 존재한다고 인식한다.
class User {
User(){
//생성자는 있지만, 내용이 비어있다.
}
}
1-3 파라미터를 갖는 생성자
생성자도 메서드의 한 종류이므로 파라미터를 함께 정의하는 것이 가능하다.
생성자의 파라미터를 멤버변수에 복사하는 것으로 객체의 초기화를 외부적인 요인에 의해 처리할 수 있다.
class User{
String name;
int age;
User(String name, int age){
//생성자 파라미터의 값을
//필드에 복사
this.name = name;
this.age = age;
}
}
-----------------------------------------
// 생성자에 파라미터가 정의된 경우, 객체 생성구문에서
// 해당 파라미터를 전달해야 한다.
User u = new User("자바학생", 20);