728x90
앞서서 상태정보 즉, DTO,VO 클래스에서의 상속 관계를 살펴보았는데 이번엔 동작정보 즉 메서드에 초점을 맞춰서 상속 관계를 살펴 보려고 한다.
또한 앞에서 빠진 내용들을 덧붙이려고 한다.
상속의 처음부터 다시 살펴보자(메서드를 중심으로)
수평적 구조를 사용하여 Dog, Cat 클래스를 만들어 보자
두 클래스에는 공통적으로 eat() 이라는 메서드가 존재한다.
반복되는 요소를 줄이는것이 좋다.
Upcasting이란?
: 부모가 자식을 가리키는 객체생성방법
super()
: 상위 클래스의 생성자를 호출하는 메서드, 생성자 메서드에서 가장 첫 문장에 사용해야 한다.
상위 클래스의 기본생성자를 호출하는 super() 는 생략되어 있다.
이와 같이 수행문을 super() 보다 먼저 적어버리게 된다면 오류가 난다
이제는 수직적 구조로 설계해보자
Dog, Cat의 부모 클래스가 되는 Animal 이라는 클래스를 만들고 이를 상속하는 구조를 설계한다.
Animal에 정의 되어있는 eat()메서드를 자식 클래스에서 재정의 해서 사용한다.
Override(재정의)란?
상속관계에서 하위클래스가 상위클래스의 동작을 재정의 하는 행위(기능추가, 변경)
동적바인딩이란?
실행시점에서 사용될 메서드가 결정되는 바인딩
728x90
'Backend > JAVA' 카테고리의 다른 글
[패캠]패스트캠퍼스X야놀자: 백엔드 개발 부트캠프_JAVA 과제2 (0) | 2023.09.04 |
---|---|
[패캠]패스트캠퍼스X야놀자: 백엔드 개발 부트캠프_JAVA 과제1 (0) | 2023.08.25 |
[패캠/JAVA] 상속 관계 객체 생성 및 초기화(상태정보) (0) | 2023.08.08 |
[패캠/JAVA] 자바 상속 (0) | 2023.08.08 |
[패캠/JAVA] JVM 메모리 모델 (0) | 2023.08.01 |