티스토리 뷰

생성자 ( Constructor ) 란 ?

객체를 생성하고, field를 초기화하기 위한 메소드

 

  • 클래스명과 이름이 동일하고, 리턴타입이 없습니다.

class Test {
	public Test() {}	// 생성자입니다.
}

 

  • new 연산자와 함께 사용됩니다.

Test t = new Test();

 

  • 기본 생성자는 생략하면 자동으로 생성됩니다.

  • 매개변수를 갖는 생성자를 정의하면 기본 생성자는 더 이상 자동으로 만들어지지 않습니다.

public class AA {
			// new AA();
}

public class BB {
	public BB() {}	// new BB();
}

public class CC {
	public CC(int cc) {}	// new CC(); (X)
    				// new CC(10); (O)
}

 

  • 생성자는 상속되지 않습니다.

  • 다만, 자식클래스의 생성자 호출 시 부모클래스의 생성자 또한 호출됩니다.

public class Test {

	public Test() {
    	System.out.println("기본 생성자입니다.");
    }
    
    public Test(int i) {
    	System.out.println("매개변수를 갖는 생성자입니다.");
    }
    
    public static void main(String[] args) {
    
    	Test tDefault = new Test();
        Test tParameter = new Test(10);
    }
}

실행 결과

 

 

기본 생성자 ( Default Constructor )

  • 클래스 이름과 동일, 리턴타입 없음, 접근제한자는 public

파라미터가 있는 생성자 ( 오버로딩 )

  • 파라미터의 타입이나 갯수를 다르게 하여 다른 일을 하게 한다.

class Test {
	// 기본 생성자 (default constructor)
	public Test() {}
    
    	// 파라미터가 있는 생성자
    	public Test(int a) {}
    	public Test(int a, int b) {}
}   
최근에 올라온 글
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Total
Today
Yesterday