[JAVA] class의 종류

IT/JAVA 2018. 4. 6. 13:59

Anonymous Inner Class( 익명 클래스 )

- 프로그램이 실행되는 동안 한번 말 클래스가 필요 할시 사용한다.

- 메소드 안에서 실행

-compile되면 바깥클래스명$1.class

method명(new 클래스명(){

내용

});

 

Inner Class(안긴 클래스)

- 클래스를 인스턴스변수처럼 사용할 때

- 이벤트처리 목적으로 개발된 클래스

 

 class 외부 클래스 

  변수

  method

 

 public class 내부 클래스

 

  변수

  method

 

 

 

 

 

 

 

- 내부클래스에서 외부 클래스의 자원 ( 변수/ 메소드) 내용 직접 사용 가능

- 외부에서는 내부 클래스를 직접사용 할수 없고 객체화해서 사용한다.

- 이벤트 처리를 위해 별도의 클래스를 생성하지 않고 클래스내에서 작성하고 처리 할때 사용한다.

- 내부클래스의 접근 지정자를 public으로 처리

- compile 되면 외부클래스$내부클래스.class

- 객체화 방법)

1. 외부 클래스의 객체화

외부클래스명 객체명= 객체화 new 외부클래스 생성자();

2. 외부 클래스의 객체를 사용하여 내부 클래스의 객체를 생성

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

Outer.Inner in = out.new Inner();

 

소스코드

 

결과

 

Nested Class ( 중첩 클래스 )

 

 

- 클래스를 static 변수 처럼 사용 할때

└ 객체를 만들지 않고 사용한다.

- 내부 클래스 statc만 가지도록 만든다. ( static class / static 변수 / static method 만 사용한다.)

- 외부 클레스에서 내부 클래의 자원을 사용 할 수 있다.

- 내부클래스명.변수명 / 내부클래스명.method명

- 이벤트를 공용으로 처리 할때 사용한다.

- 객체화를 하지 않고 사용한다.

- compile 되면 외부클래스$내부클래스.class

 

 

 

 

 

 

 

 

 

 

 

외부클래스

변수(instance,static)

method(instance,static)

 

 

 

 

static class 내부클래스

static 변수 

static method

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Local Class(지역클래스)

- 클래스를 지역변수처럼 사용할 때

- method가 호출되더라도 안쪽객체가 생성되지 않는다.

- method 외부에서는 접근 불가

- 지역 클래스는 지역변수나 , 매개변수를 사용 할 때 final 이 있는 변수만 사용 할 수 있다.

- 인스턴스 변수는 final이 없어도 참조 할 수 있다.

- compile되면 바깥클래스명$1내부클래스명.class

 

 

class 외부 클래스

변수

 

 

 

 

method

 

 

 

 

 

 

 class 지역 클래스

변수

method

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'IT > JAVA' 카테고리의 다른 글

[JAVA] JCF (Java Collection FrameWork - List, Set , Map )  (0) 2018.04.10
[JAVA] 유용한 클래스들  (0) 2018.04.10
[JAVA] 배열(Array)  (0) 2018.04.03
[JAVA] Call by Value & Call by Reference  (0) 2018.03.30
[JAVA] CLASS 만들기 ( 복습 )  (0) 2018.03.30
블로그 이미지

이든Kim

,