태그

#JAVA

JAVA - nested class

2021년 6월 11일 01:28

48-thumbnail-image

중첩 클래스

  1. 일반 중첩 클래스 : 클래스 안에 만들어지는 멤버 클래스 - 중요도 ★★
  2. static 중첩 클래스 : 클래스 안에 만들어지는 멤버 클래스 (객체 생성과 상관 없이 사용) - 중요도 ★★★★
  3. 지역 중첩 클래스 : X
  4. 익명 중첩 클래스 : 부분적 재정의 구문 - 중요도 ★★★★★★★★★★★★★

일반 중첩 클래스

  • 클래스 안에 만들어지는 멤버 클래스
  • 클래스의 내부에서 어떤 기능들을 세부적으로 관리하려 할 때 사용된다

Suit Calss

public class Suit {

	int price;
	Bottom b = new Bottom();
	
	public void setPrice(int price) {
		this.price = price;
		b.price = price;
	}
	
	public class Top{
		int price;
		
		//Top의 생성자
		public Top(){
			
		}
		public void setPrice(int price) {
			this.price = price;
		}
		public int getPrice() {
			return price;
		}
		
	}
	
	private class Bottom{
		int price;
		
	}
}

Main

public class Main {

	public static void main(String[] args) {
		
		Suit s = new Suit();	
		
		s.setPrice(20000);
//		s.t.price = 30000;
//		s.price = 10000;	
//		
//		//s.b.price = 20000; //private
//		
//		Suit.Top t = new Suit.Top();
//		
//		t.price = 20;
//		
//		//Suit.Bottom b = s.new Bottom();
//		
//		s.disp();
	}

}