Everything has an expiration date
078 - Java 클래스와 인스턴스 : 생성자(Constructor)와 초기화 블럭(Initialized Block) 본문
[Java]/Program source (java)
078 - Java 클래스와 인스턴스 : 생성자(Constructor)와 초기화 블럭(Initialized Block)
Jelly-fish 2023. 9. 5. 14:47/*==========================================================
■■■ 클래스와 인스턴스 ■■■
- 생성자(Constructor)와 초기화 블럭(Initialized Block)
============================================================*/
public class Test078
{
// 수행할 수 없음.
/*
int n;
int m;
대입 연산을 실행하는 구문이므로 class 내부에서 실행 불가.
n = 100;
m = 200;
*/
// 수행 가능
// 변수의 초기화 방식으로 작성할 경우 이상 없음.
/*
int n = 100;
int m = 200;
*/
int n;
int m;
// 초기화 블럭과 생성자 중 최종적으로 변수의 값을 정하는 것은 생성자다.
// 우선순위가 낮은 것부터 먼저 실행한다.
// 결과적으로 변수에 초기화 되는 값은 생성자에서 결정하는 것이기 때문에
// 초기화 블럭보다 생성자의 우선순위가 더 높은것.
// 최종적으로 변수에는 생성자가 세팅한 값이 남게 된다.
// 생성자(Constructor)
Test078()
{
System.out.println("생성자 실행...");
n = 100;
m = 200;
}
// 초기화 블럭(Initialized Block)
{
n = 10;
m = 20;
System.out.println("초기화 블럭 실행...");
}
// 멤버 출력 메소드 정의
void write()
{
System.out.println("n : " + n + ", m : " + m);
}
Test078(int n, int m)
{
this.n = n;
this.m = m;
System.out.println("매개변수 있는 생성자 실행...");
}
public static void main(String[] args)
{
Test078 ob1 = new Test078();
ob1.write();
//--==>>초기화 블럭 실행...
// 생성자 실행...
// n : 100, m : 200
// 계속하려면 아무 키나 누르십시오 . . .
Test078 ob2 = new Test078(222, 333);
ob2.write();
//--==>>초기화 블럭 실행...
// 매개변수 있는 생성자 실행...
// n : 222, m : 333
}
}