생성자 (constructor)
- 생성자는 메소드이다.
- 생성자는 클래스와 동일한 이름을 가진다.
- 반환타입이 없다.
- 생성자가 하나도 정의되어 있지 않으면 컴파일 시에 실행파일(Student.class)에 기본생성자 메소드가 자동으로 추가된다.
public class Student {
// 클래스 Student의 필드 (멤버변수)
int no;
int grade;
String name;
// 기본 생성자 메소드
public Student() {
...
}
// 기본 생성자 메소드는 매개변수만 다르게 해서 중복정의가 가능하다
public Student(String name, int no) {
this.name = name;
this.no = no;
}
}
public static void main(String[] args) {
// Student 객체 생성하기
Student student1 = new Student();
Student student2 = new Student();
}
생성자 메소드 사용하기
- Student student1 = new Student(); 에서
Student();
가 바로 생성자 메소드이다.
- new 키워드 다음에 생성자 메소드를 적는다.
- new 키워드는 생성자 메소드의 이름과 동일한 이름의 실행파일(Student.class)를 메모리에 로딩한다.
- 메모리에 로딩된 실행파일(Student.class)을 설계도 삼아 Student 객체를 생성한다.
- Student 객체의 생성이 완료되면, 생성자 메소드를 실행해서 객체 생성 직후에 수행할 작업을 실행시킨다.
- Student 객체의 주소값이 참조변수 student1에 대입된다.