1. 생성자
1-1. 생성자란?
- new 키워드를 사용하여 객체가 생성될 때 자동으로 실행되는 특수한 형태의 메서드
- 리턴형을 명시하지 않으며, 메서드의 이름은 클래스와 동일하다.
class Student {
Student() {
}
}
Student std = new Student();
- 자동으로 실행된다는 특성 때문에, 객체가 생성되면서 해당 객체의 특성을 초기화하기 위하여 사용된다.
(ex : 멤버변수의 초기 값을 할당하는 용도)
1-2. 기본 생성자
- 파라미터가 없는 생성자
- 클래스에 특별히 생성자가 정의되지 않은 경우 java 컴파일러가 기본 생성자가 존재한다고 인식한다.
class Student {
Student() {
}
}
1-3. 생성자의 활용
- 생성자는 멤버변수의 값을 초기화 하기 위해 사용한다.
class Book{
String subject;
String content;
Book(){
System.out.println("생성자 호출");
this.subject = "JAVA 입문";
this.content = "JAVA란 무엇인가?";
}
void read() {
System.out.println("read() 메서드 실행");
System.out.println( this.subject );
System.out.println( this.content );
}
}
public class Main03 {
public static void main(String[] args) {
Book book = new Book();
book.read();
}
}
result
생성자 호출
read() 메서드 실행
JAVA 입문
JAVA란 무엇인가?
1-4. 파라미터를 갖는 생성자
- 생성자도 메서드의 한 종류이므로 파라미터를 함께 정의하는 것이 가능하다.
- 생성자의 파라미터를 멤버변수에 복사하는 것으로 객체의 초기화를 외부적인 요인에 의해 처리할 수 있다.
class StudentJava {
String name;
int age;
public StudentJava(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main04 {
public static void main(String[] args) {
StudentJava stdJava = new StudentJava("Java학생", 28)
}
}