class NumberTest
{
int num;
// 디폴트 (default) 생성자 → 컴파일 과정에서 자동으로 삽입
// 단, 사용자 정의 생성자가 존재하지 않을 경우만...
/*
NumberTest()
{
// 텅 비어있음~!!!
}
*/
// 사용자 정의 생성자
NumberTest()
{
num=1;
System.out.println("사용자 정의 생성자 호출~!!!");
}
int getNum()
{
return num;
}
}
public class Test074
{
public static void main(String[] args)
{
// NumberTest 클래스 기반의 인스턴스 생성
NumberTest nt1 = new NumberTest();
//--==>> 사용자 정의 생성자 호출~!!!
//-- 인스턴스가 생성되는 시점에서
// 이와 동시에 선택의 여지 없이 생성자 호출이 이루어진다.
// -----------
// NumberTest();
int num = nt1.getNum();
System.out.println(num);
//--==>> 1
nt1.num = 200;
System.out.println(nt1.getNum());
//--==>> 200
// NumberTest 클래스 기반의 인스턴스 생성
NumberTest nt2 = new NumberTest();
//--==> 사용자 정의 생성자 호출~!!!
System.out.println("nt1.num : " + nt1.getNum());
System.out.println("nt2.num : " + nt2.getNum());
//--==>> nt1.num : 200
// nt2.num : 1
}
}
class NumberTest { int num; // 디폴트 (default) 생성자 → 컴파일 과정에서 자동으로 삽입 // 단, 사용자 정의 생성자가 존재하지 않을 경우만... /* NumberTest() { // 텅 비어있음~!!! } */ // 사용자 정의 생성자 NumberTest() { num=1; System.out.println("사용자 정의 생성자 호출~!!!"); } int getNum() { return num; } } public class Test074 { public static void main(String[] args) { // NumberTest 클래스 기반의 인스턴스 생성 NumberTest nt1 = new NumberTest(); //--==>> 사용자 정의 생성자 호출~!!! //-- 인스턴스가 생성되는 시점에서 // 이와 동시에 선택의 여지 없이 생성자 호출이 이루어진다. // ----------- // NumberTest(); int num = nt1.getNum(); System.out.println(num); //--==>> 1 nt1.num = 200; System.out.println(nt1.getNum()); //--==>> 200 // NumberTest 클래스 기반의 인스턴스 생성 NumberTest nt2 = new NumberTest(); //--==> 사용자 정의 생성자 호출~!!! System.out.println("nt1.num : " + nt1.getNum()); System.out.println("nt2.num : " + nt2.getNum()); //--==>> nt1.num : 200 // nt2.num : 1 } }