본문 바로가기

Java/본격 Java 클래스

[Java] 생성자(Constructor)

생성자(constructor)


 - 모든 클래스에 존재하는 일종의 메소드로 인스턴스를 생성시켜주는 작업을 합니다.
  생성자가 없으면 JVM이 자동으로 default 생성자를 만들어 사용합니다.
  default 생성자 : 다른 작업은 하지 않고 오직 인스턴스만을 생성합니다.


 - 생성자는 인스턴스 생성시 딱 한 번만 실행됩니다.
  가장 먼저 실행되기 때문에 멤버 변수들의 초기화에 주로 사용됩니다.


 - 선언법


 접근제어지시자 메소드명-클래스명([매개변수(들)]){ 생성자 실행문(들); }


  생성자는 리턴타입이 없습니다. : 입력하면 생성자가 아닌 일반 메소드로 인식합니다.
  생성자의 이름은 반드시 클래스 이름과 동일해야 합니다.(대소문자 포함)

.

.

예제1

class NumberEx
{
	int num = 10; // 멤버변수
	public NumberEx(){ // 생성자
		num++;
		System.out.println("생성자 호출");
	}

	public int getNumber(){
		return num;
	}
}

class Constructor1
{
	public static void main(String[] args) 
	{
		NumberEx num1 = new NumberEx();
		System.out.println(num1.getNumber());

		NumberEx num2 = new NumberEx();
		System.out.println(num2.getNumber());
	}
}

.

.

예제2

class NumberEx
{
	int num; // 멤버변수
	public NumberEx(int n){ // 생성자
		num = n;
		System.out.println("매개변수 값 : " + n);
	}

	public int getNumber(){
		return num;
	}
}

class Constructor2
{
	public static void main(String[] args) 
	{
		NumberEx num1 = new NumberEx(10);
		System.out.println(num1.getNumber());

		NumberEx num2 = new NumberEx(20);
		System.out.println(num2.getNumber());
	}
}
728x90
반응형