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