1. 객체 지향 상속
    1. 상속 : 자식이 부모 유전자를 물려 받는 것과 유사한 개념
    2. 선언
      1. extends 키워드로 선언
        1. 부모 클래스를 물려받아 확장한다는 의미
      2. 부모 클래스 -> 슈퍼 클래스(super class)
      3. 자식 클래스 -> 서브 클래스(sub class)
    3. 클래스 다중 상속(multiple inheritance) 불허
      1. C++는 다중 상속 가능
        1. C++는 다중 상속으로 멤버가 중복 생성되는 문제 있음
      2. 자바는 인터페이스(interface)의 다중 상속 허용
    4. 모든 자바 클래스는 묵시적으로 Object클래스 상속받음
      1. java.lang.Object는 클래스는 모든 클래스의 슈퍼 클래스
  2. 멤버 접근 지정자
    1. 슈퍼 클래스의 private 멤버 : 서브 클래스에서 접근할 수 없음
    2. 슈퍼 클래스의 디폴트 멤버 : 서브 클래스가 동일한 패키지에 있을 때, 접근 가능
    3. 슈퍼 클래스의 public 멤버 : 서브 클래스는 항상 접근 가능
    4. 슈퍼 클래스의 protected 멤버 : 같은 패키지 내의 모든 클래스 접근 허용, 패키지 여부와 상관없이 서브 클래스는 접근 가능
  3. 업캐스팅(upcasting)
    1. 서브 클래스의 레퍼런스를 슈퍼 클래스 레퍼런스에 대입
    2. 슈퍼 클래스 레퍼런스로 서브 클래스 객체를 가리키게 되는 현상
  4. 다운캐스팅(downcasting)
    1. 슈퍼 클래스 레퍼런스를 서브 클래스 레퍼런스에 대입
    2. 업캐스팅된 것을 다시 원래대로 되돌리는 것
    3. 반드시 명시적 타입 변환 지정
  5. instanceof 연산자
    1. 레퍼런스가 가리키는 객체의 타입 식별
  6. 오버라이딩(overriding)으로 다형성 실현
    1. 하나의 인터페이스(같은 이름)에 서로 다른 구현
    2. 슈퍼 클래스의 메소드를 서브 클래스에서 각각 목적에 맞게 다르게 구현

       
error: Content is protected !!