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