Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
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
Archives
Today
Total
관리 메뉴

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

	}
}