728x90
728x90
- 생성자(constructor)
생성자는 클래스에서 특별한 메서드입니다. 일반적인 메서드는 사용자가 호출할 때에 한해 동작하지만 생성자는 사용자가 객체를 생성할 때 자동으로 호출되는 메서드입니다.
생성자는 return 형을 사용하지 않으며 클래스와 동일한 이름을 가져야 합니다.
import java.io.*;
class Main {
public static void main(String[] args) {
ClassExample ce;
System.out.println("ce object Called");
ce = new ClassExample();
System.out.println("ce Object Created");
}
}
class ClassExample {
ClassExample() {
System.out.println("Constructor Called!!!");
}
}
위 예시는 ClassExample이라는 클래스의 생성자에 대한 예시로, 클래스 내에 매개변수를 생략한 생성자 코드입니다.
실행결과를 살펴보면
- "ce object Called" 문구가 출력됩니다. 즉, ce 객체가 정상적으로 선언된 뒤 출력 코드가 실행되었습니다.
- "Constructor Called!!!" 라는 문구가 출력됩니다. new를 통해 메모리가 할당되면서 객체가 만들어진 것이죠. 객체가 만들어지는 순간 생성자가 작동하므로 "Constructor Called!!!" 문구가 출력됩니다.
- 마지막으로 "ce Object Created"라는 문구가 출력됩니다.
위 예시처럼 매개변수가 존재하지 않는 생성자를 "기본 생성자"라고 부릅니다. 즉, 매개변수를 포함한 생성자 또한 만들 수 있다는 것을 뜻합니다. 이때 주의할 점은 클래스 안에 매개변수가 들어간 생성자만 정의했다면 객체에 메모리를 할당할 때 생성자에 포함된 매개변수 또한 잊지 말고 입력해 주어야 합니다.
생성자는 보통 멤버 변수들의 초기화 및 객체의 복사와 같은 역할로 사용됩니다.
728x90
728x90
'비전공자의 개발과 친해지기 > 클래스와 객체' 카테고리의 다른 글
[JAVA : 클래스와 객체]6. 상속 (0) | 2022.06.08 |
---|---|
[JAVA : 클래스와 객체]5. static (0) | 2022.05.05 |
[JAVA : 클래스와 객체]4. 접근제한자 (0) | 2022.04.18 |
[JAVA : 클래스와 객체]2. 멤버 (0) | 2022.04.13 |
[JAVA : 클래스와 객체]1. 클래스와 객체 (0) | 2022.04.12 |