Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- java
- Runtime Area
- Be
- TDD
- 도커
- 미니미프로젝트
- hateoas
- 클린코드
- Java 22
- KPT
- Execution Engine
- 완벽이해
- RESAPI
- pair programming
- 자식객체
- Spring/JAVA 서적
- DB
- ComponentScan
- docker
- 트랜잭션 격리 수준
- 스프링으로하는마이크로서비스구축
- ATDD
- Self Descript Message
- GC
- G1GC
- testdrivendevelopment
- M:N
- 부모객체
- 마이크로서비스디자인패턴
- Solid
Archives
- Today
- Total
Programming Summary
논의) 상속을 고민해볼 수 있는 3가지 질문 본문
세가지 질문
프로 디지털 아카데미 4기에서 강사님께서 상속에 대해 고민할 수 있는 질문들에 대해 말씀해주셨다. 그 질문은 다음과 같다.
1. 상속 관계를 결정하는 클래스는 누구인가요?
2. 생성자도 상속되는 걸까요?
3. 아래 네모는 객체입니다. A,B중 누가 부모이고, 자식일까요?
의사 결정 과정
1. 상속 관계를 결정하는 클래스는 누구인가?
자식 클래스
이다. 이건 큰 이견 없이 모든 사람이 동의한 내용이었다. 어떤 클래스 혹은 인터페이스를 상속받을지 결정하는 곳은 자식 클래스이기 때문이다.
2. 생성자도 상속되는걸까?
나는 이 부분은 상속되지 않는다고 생각한다. 상속이라 함은 자식에서 재정의할 수 있어야 하는데,
public class Child {
public Parent() {
...
}
}
와 같이 작성하지 못하기 때문이다.
다음과 같이 super에 마우스를 대면 부모 생성자로 연결되는 모습에도 상속받는게 아닌 호출한다라고 생각할 수도 있다.
A,B 중 누가 부모이고, 자식일까?
이건 두 가지 관점이 있다고 생각한다.
먼저, 우리는 객체의 정의를 "주어 자리에 들어갈 수 있는 것" 이라고 정의를 하였다. 이 관점에서 볼 때, 스마트폰
, 갤럭시
, 애플
은 모두 객체이며, 스마트폰
은 갤럭시
와 애플
의 부모이다. 그리고 갤럭시
와 애플
은 스마트폰
의 일종이므로 자식이 부모에 포함된다고 생각할 수 있다.
하지만 코드 관점에서 볼 때 '갤럭시'와 '애플'은 '스마트폰'을 상속받고 더 많은 기능을 추가 및 수정을 할 수 있다. 그러므로 부모가 자식에 포함된다고도 생각할 수 있다.
내가 내린 결론
1. 상속 관계를 결정하는 클래스는 누구인가요?
- 자식 클래스이다.
2. 생성자도 상속되는 걸까요?
- 상속되지 않는다.
3. 아래 네모는 객체입니다. A,B중 누가 부모이고, 자식일까요?
- 관점에 따라 다르다.
'프로 디지털 아카데미 4기' 카테고리의 다른 글
JAVA) SOLID 원칙이란? (0) | 2024.07.16 |
---|---|
미니미 프로젝트) KPT 회고 (0) | 2024.07.15 |
방법론) TDD를 할까? 말까? (0) | 2024.07.12 |
Java) 나는 왜 자바를 좋아하는가? (0) | 2024.07.12 |
방법론) 페어 프로그래밍이란? (1) | 2024.07.03 |