Java(UtilClass)_Inner_02

2024. 11. 6. 18:18·Java/기초 내용 정리

2024-11-06

 

 

su1 >>> 50
su2 >>> 133

 

package inner;

/*
 *  3. 중첩 클래스(inner class) 선언
 *  
 *  중첩 클래스(inner class) ?
 *  1. 클래스 내부에 또 다른 클래스 선언.
 *  	==> 두 클래스가 서로 다른 긴밀한 관계로 연결되어
 *  		있는 경우에 사용함.
 *  		두 클래스 멤버 간에 서로 쉽게 접근할 수 있다는 
 *  		장점이 있음.
 *  2. 내부 클래스를 하나의 멤버로 사용할 수 있음.
 *  3. 클래스 멤버 : 멤버변수, 멤버 메서드, 외부클래스, 내부클래스
 *  4. 내부클래스 객체 생성 방법
 *  	형식) 
 *  		외부클래스명.내부클래스명 참조변수 = 
 *  						외부클래스참조변수.new 내부클래스생성자();
 *  
 *  [내부클래스의 특징]
 *  - 내부 클래스는 외부 클래스 멤버를 마치 자기 자신처럼
 *    사용이 가능함.
 *    	==> 외부클래스 멤버의 데이터를 변경 시킬 수도 있음.
 *  - 외부클래스의 접근지정자가 private 접근지정자 일지라도
 *    접근이 가능함.
 *  - 내부클래스의 접근은 반드시 외부클래스를 통하여 접근해야 함.
 */

class Outer {		//  외부 클래스
	
	final int su1 = 50;
	private int su2 = 34;
	
	class Inner {		//  내부 클래스
		
		void output() {
			
			//su1 = 234;	final 이기에 변경 불가
			su2 = 133;
			
			System.out.println("su1 >>> " + su1);
			System.out.println("su2 >>> " + su2);
		}
	}		//  inner 클래스 end
}		//  Outer 클래스 end

public class Inner_02 {

	public static void main(String[] args) {
		
		//  중첩클래스의 객체 생성 방법
		//	1. 외부 클래스의 객체가 먼저 생성이 되어야 함.
		Outer outer = new Outer();
		
		//  2. 내부클래스 객체 생성.
		//  형식) 외부클래스명.내부클래스명 참조변수 = 
		//					외부클래스참조변수.new 내부클래스생성자();
		Outer.Inner inner = outer.new Inner();
		
		inner.output();
	}
}

'Java > 기초 내용 정리' 카테고리의 다른 글

Java(UtilClass)_Wrapper_01  (0) 2024.11.06
Java(UtilClass)_Singleton_01  (0) 2024.11.06
Java(UtilClass)_Inner_01  (3) 2024.11.06
Java(UtilClass)_Object_03  (0) 2024.11.06
Java(UtilClass)_Object_02  (0) 2024.11.06
'Java/기초 내용 정리' 카테고리의 다른 글
  • Java(UtilClass)_Wrapper_01
  • Java(UtilClass)_Singleton_01
  • Java(UtilClass)_Inner_01
  • Java(UtilClass)_Object_03
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Java(UtilClass)_Inner_02
상단으로

티스토리툴바