자바 외부클래스/ 내부클래스

자바 외부클래스/ 내부클래스

1. 외부클래스

- 외부클래스는 내부클래스를 포함한 클래스 이다.

2. 내부클래스

- 내부클래스(inner class)는 외부 클래스 안에 선언된 클래스를 말한다.

- 내부클래스는 외부클래스(outer class)의 변수와 메서드를 마치 자신의 것처럼 가져와서 자유롭게 사용할 수 있다.

- 내부 클래스는 외부클래스의 내부적인 용도로 사용하고자 하는 경우에 사용된다.

3. 내부클래스 객체 생성하는 법

가. 내부클래스 객체를 생성하려면 먼저 외부클래스 객체를 생성해야 한다.

나. 내부클래스 객체 생성법 :

외부클래스명.내부클래스명 내부객체명=외부객체명.new 내부클래스명();

다. 내부클래스 명은 외부클래스명$내부클래스명.class파일로 컴파일 된다.(이름있는 내부클래스명으로 컴파일)

ex) Inner.java -> Outer$Inner.class파일로 컴파일된다.

package test; class Outer{//외부클래스 정의 int data=100; class Inner{//내부클래스 정의 public void p(){ System.out.println(data+"입니다."); //외부클래스에서 선언된 변수를 내부클래스에서 사용하고 있다. } } } public class OuterInner { public static void main(String[] args) { Outer outObj=new Outer(); Outer.Inner inObj=outObj.new Inner(); } }

from http://betterwave.tistory.com/29 by ccl(A) rewrite - 2021-12-11 00:27:35