비전공자의 개발과 친해지기/클래스와 객체

[JAVA : 클래스와 객체]3. 생성자(constructor)

justdoIT0730 2022. 4. 14. 10:15
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이라는 클래스의 생성자에 대한 예시로, 클래스 내에 매개변수를 생략한 생성자 코드입니다.

 

실행결과를 살펴보면

 

  1. "ce object Called" 문구가 출력됩니다. 즉, ce 객체가 정상적으로 선언된 뒤 출력 코드가 실행되었습니다.
  2. "Constructor Called!!!" 라는 문구가 출력됩니다. new를 통해 메모리가 할당되면서 객체가 만들어진 것이죠. 객체가 만들어지는 순간 생성자가 작동하므로 "Constructor Called!!!" 문구가 출력됩니다.
  3. 마지막으로 "ce Object Created"라는 문구가 출력됩니다.

 

  위 예시처럼 매개변수가 존재하지 않는 생성자를 "기본 생성자"라고 부릅니다. 즉, 매개변수를 포함한 생성자 또한 만들 수 있다는 것을 뜻합니다. 이때 주의할 점은 클래스 안에 매개변수가 들어간 생성자만 정의했다면 객체에 메모리를 할당할 때 생성자에 포함된 매개변수 또한 잊지 말고 입력해 주어야 합니다.

 

 

  생성자는 보통 멤버 변수들의 초기화 및 객체의 복사와 같은 역할로 사용됩니다.

728x90
728x90