1. 상속

  • 부모 클래스에게 상속 받으며 기능을 추가할 수 있다.
  • 기존 클래스의 변수(데이터)와 메소드 (로직, 코드)를 물려받아 새로운 클래스를 구성하는 것.

1.1. 게임에서 상속의 예시


게임에서는 전직을 통해 사용가능한 스킬 수가 늘어난다!!


1.2. 상속의 장점

  • 기존 클래스의 변수와 코드를 재사용
    -> 코드의 중복 감소 클래스 간결화

  • 먼저 작성된 검증된 프로그렘을 제사용
    -> 신뢰성있는 프로그램 손쉽게 개발

  • 클래스간 계층적 분류 및 관리
    -> 유지보수가 용이


1.3. extends으로 상속하는 방법

  • 문법.

    class 서브클래스 extends 슈퍼클래스


1.4. 상속특징

  • 다중 상속을 지원하지 않는다. (extends 부모1, 부모2)

  • 상속의 횟수에 제한을 두지 않는다.

  • 모든 클래스는 java.lang.Object를 상속 받는다.
    ---> Object == 클래스 공통의 조상


2. 오버라이딩

메소드 오버라이딩(method overriding)

  • 상속이 전제되어 있어야 한다!

  • 부모 클래스가 가지고 있는 메소드에 틀(리턴타입, 메소드명, 매개변수)을 그래도 가지고 와서 { } 안 쪽의 로직만 재정의 하는 기법!


혼동 말고 개념 정립!

  • 오버라이딩 - 재정의 ( 메소드 내용 변경! )
  • 오버로딩 - 중복정의 ( 메소드 매개변수 개수 변경! )

2.1.0. @어노테이션(annotation)

  • 오버라이딩 했을시 다른 팀원에게 알리기 위해 주석인 어노테이션

  • 어노테이션으로 보다 상세히 표현도 가능하다!
    (아래그림의 주석 표현법 지킬 것!)


3. 객체형변환 Castring(캐스팅)

참고url : 링크

기존 데이터 타입을 다른 데이터타입으로 변환하는 것

  • Reference Type을 캐스팅하려면 상속이 필요함.

3.1. Upcasting(업 캐스팅)

Parent p = new Child();

객체에서의 형변환은 상속이 전제되어 있다.

  • 하위 클래스가 상위 클래스 타입으로 자동 타입 변환하는 것(다형성)

  • 객체 내 모든 변수, 메소드에 접근할 수 없고 상위 클래스의 변수. 메소드에만 접근가능

  • 단, 하위 클래스가 상위 클래스이 메소드를 오버라이딩한 경우 하위 클래스의 메소드를 호출

3.2. DownCasting(다운 캐스팅)

Child c2 = (Child) p2;

  • 업캐스팅된 객체를 강제(명시적) 타입 변환으로 다시 되돌리는 것

  • 업캐스팅 된 객체가 아니더라도 문법적인 오류는 없지만, 실행 후 compile시 문제가 발생한다 !


4. 닌텐도 게임 실행문구로 실습해보기


profile
제가 한 번 해보겠습니다.

0개의 댓글