본문 바로가기
Language/Java

[Java] 생성자란?

by 드럼치는 코린이 2021. 10. 31.
728x90
반응형

 생성자란? 

객체 생성 시 초기화해주는 역할을 담당한다.

간단한 예로, 스마트폰 전원(객체)을 켜면 제조사 로고(생성자)가 등장(호출)하는 것과 같다.

생성자 특징을 살펴보면 다음과 같다.

  • 클래스명과 메서드명(생성자)이 동일해야 한다.
  • 리턴 타입이 없다.
  • 객체 생성 시 단 한 번만 호출된다.

생성자를 사용하는 방법은 크게 2가지가 있다.

  1. 메서드에 매개변수 없이 호출하는 방법
  2. 메서드에 매개변수를 받아 호출하는 방법

바로 예제를 살펴보도록 하자.

public class ConstructorTest {

	public ConstructorTest() {
		System.out.println("Constructor 객체생성 !!");
	}

	public static void main(String[] args) {
		ConstructorTest ct = new ConstructorTest(); // 객체 생성과 동시에 생성자 실행
	}

}

실행결과

클래스명과 동일한 생성자를 생성한 후 해당 클래스 타입으로 새로운 객체를 생성하면,
생성과 동시에 생성자를 호출하여 위와 같은 실행결과를 얻게 된다.

다음으로는 매개변수를 받아 생성자를 호출하는 예제를 보면 아래와 같다.

public class ConstructorTest {
	
	private String value;
	
	public ConstructorTest(String value) {
		System.out.println("Constructor 객체생성 !!");
		this.value = value;
	}

	public static void main(String[] args) {

		ConstructorTest ct1 = new ConstructorTest("객체 1 !!");
		ConstructorTest ct2 = new ConstructorTest("객체 2 !!");
		
		System.out.println(ct1.value);
		System.out.println(ct2.value);
        
	}

}

실행결과

String 타입의 value를 필드로 선언한 후 메서드에 매개변수로 받아 호출할 수 있는 생성자를 생성하였다.
다음으로 객체 생성 시 인자를 입력해 생성자를 호출하면 위와 같은 실행결과를 얻게 된다.
여기서 주의할 점은 객체 생성 시 인자를 입력하지 않으면 컴파일 에러를 발생시킨다.

참고로 this에 대해 궁금하다면 아래를 참고하면 된다.

 

[Java] this 키워드의 개념과 사용 방법 세 가지

this 키워드란? 개념 - this는 인스턴스의 자기자신을 의미한다. - 인스턴스화 되었을 때 자기자신의 메모리 주소를 담고있는 키워드이다. this 키워드의 세 가지 역할 ① 자기 자신의 메모리를 가

choicode.tistory.com

 

728x90
반응형

댓글