public class Ex02_constructor{
	public static void matin(String[] args) {
    Test1 ob = new Test1();
    // 객체가 생성되고 객체에 필요한 초기화 작업이 이루어짐.
    ob.print();
    }
}

1) 객체의 메소드 할당 : a 필드가 heap영역에 메모리 할당을 받는다.
2) a 필드는 디폴트값(0)으로 초기화 된다.
3) 생성자 몸체를 실행하여 a 필드는 10으로 초기화 된다.
    생성자 몸체는 객체가 생성될 때 한 번만 실행된다.

 


- 생성자
      클래스와 동일한 이름을 가지며 return 타입이 존재하지 않는다.
      모든 클래스는 하나이상의 생성자를 가진다.
      생성자를 만들지 않으면 자바는 컴파일할 때 아무코드도 없고 매개변수도 없는 디폴트 생성자를 만든다.
      생성자는 new 연산자 다음에 호출하며 객체를 생성할 때 초기화를 담당한다.
      생성자는 일반 메소드처럼 호출할 수 없다.

class Test1 {
	
    private int a;
    
    public Test1() {
    	a = 10;
        System.out.println("생성자...");
    }
    public void print() {
    	System.out.println("a: "+a);
    }
}

+ Recent posts