내부클래스:
클래스 선언시 멤버로서 변수, 메소드뿐만 아니라 클래스를 정의하는 것
내부클래스를 갖는 클래스는 외부클래스라고함
내부클래스는 주로 외부클래스에서만 사용이됨
내부클래스종류:
instace class는 static없이 선언된 내부 클래스이며 외부 클래스 생성 후 내부클래스를 생성해야 사용가능
static class는 static 으로 선언된 내부 클래스로 외부 클래스 생성없이 외부클래스명.내부클래스명.메소드()형태로 호출하여 사용가능함(내부클래스를 static이로 만들엇으면)
local class는 메소드안에서 선언된 클래스로서 메소드내부에서만 사용가능
익명클래스:
인스턴스를 한번만 생성하여 사용을 하고 더이상 사용할 일 없는 경우 사용
부모이름으로 인스턴스를 생성하면서 동시에 클래스의 바디{}를 선언
ex)
Mail sample = new Mail(){
public void sendMail(String m){
System.out.pringln("메일을 보냅니다: " + m);
}
public String getMail(){
return "success getMail";
}
}
Mail 이라는 클래스: 이름없는 클래스의 부모
new 연산자통해 객체 생성: 이름없는 클래스가 상속받는 객체
하위 (바디): 이름 없는 클래스 선언
'개념' 카테고리의 다른 글
| Collection 1 -List, Vector, LinkedList (0) | 2024.02.05 |
|---|---|
| API (0) | 2024.02.05 |
| 다형성 (0) | 2024.02.03 |
| 추상클래스와 인터페이스 (0) | 2024.01.31 |
| TCP / UDP (0) | 2024.01.30 |