08. 다형성과 내부 클래스

Wendy·2020년 6월 14일
0
post-thumbnail

[리뷰] 처음 해보는 자바 프로그래밍 - 08. 다형성과 내부 클래스

내용 정리

8.1 다형성

상속 관계에서 부모 타입의 변수에 자식 객체를 대입 가능. 이러한 성질

  • 클래스 선언시 extends 키워드 없으면 컴파일 시 자동으로 extends Object 삽입
  • Object는 자바 클래스의 상속 구조에서 최상위 클래스 (모든 자바 클래스는 Object의 자손)
  • Object.toString() - 클래스이름@인스턴스ID

8.2 내부 클래스

8.2.1 내부 클래스란

제어자 class 클래스명 { <<< 외부 클래스
    필드 선언;
    생성자 선언
    메서드 선언
    클래스 선언 <<< 내부 클래스
}
  • 특정 클래스에서만 사용하는 경우 "관련있는것을 모은다"는 원칙에 부합하게 내부에 생성
  • 컴파일 시 외부클래스.class, 외부클래스$내부클래스.class의 분리된 파일로 생성

8.2.2 내부 클래스 종류

public class OuterClass {
   class InstanceClass {...} >>> 인스턴스 멤버 클래스
   static class StaticClass {...} >>> 정적 멤버 클래스
   public void method1() {
      class LocalClass {...} >>> 로컬 클래스
   }
}

8.2.3 익명 클래스

인터페이스명 변수명 = new 인터페이스명() {
   interface 메서드 오버라이딩
}

일회용으로 사용할 목적

8.3 열거형 클래스

enum Status {
   READY, SEND, COMPLETE, CLOSE	//각각 1,2,3,4
}

enum Menu {
   아메리(4000), 라떼(4500), Tea(5000) //생성자 호출시 괄호 숫자 전달
   private int price;
   Menu(int p) {
      price = p;
   }
}

자동으로 public static final로 선언

profile
개발 공부중!

0개의 댓글