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
- 다윈
- fabric-sdk-java
- porterduff
- dataginding
- null safety
- LAYER_TYPE_SOFTWARE
- Android
- 안드로이드
- hardwareacceleration
- 컴파일
- firebase
- vuepress
- ethereum
- Realm
- Glide
- Gradle
- bigquery
- error
- C
- web3js
- convert
- quick-start
- test
- Exception
- 스트리밍
- Hyperledger
- fabic
- kotlin
- coroutines
- log
Archives
- Today
- Total
날마다 새롭게 또 날마다 새롭게
클래스 상속의 이해 본문
상속은 부모님으로부터 어떤 대상을 물려받는 것을 말한다. 클래스 상속도 원래 상속이 갖고 있는 의미와 마찬가지로 부모 클래스가 가지고 있는 것을 자식 클래스에게 물려주는 것을 말한다. 다시 정리하면,
A 클래스가 B 클래스를 상속한다.
라는 말은 A 클래스는 B 클래스의 모든 멤버를 물려받았다 라는 것을 의미한다.
상속에 대한 정의는 다음과 같이 한다.
"class A : public B
{ .... }"
주의사항.. A 클래스가 B 클래스를 상속하기 위해서는 B 클래스가 먼저 생성되어 있어야 한다...... 닭이 먼저냐 달걀이 먼저냐.....
그렇다면 이 상속은 왜 필요한가? 상속을 통해서 부모가 가진 특성들을 그대로 갖고 있는 여러 자식 클래스들을 만들어 사용할 수 있다는 장점이 있다. 예를 들어, S 클래스가 A라는 클래스를 이용하여 특정 기능을 갖도록 구현하였다 하자. 그런데 특정 기능을 그대로 유지하면서 A 클래스 말고 B 클래스가 추가 되면 B 클래스를 반영하기 위해 S 클래스는 변경이 되어야한다. 하지만 이 상속을 이용하면 S 클래스를 변경하지 않고 B 클래스를 추가할 수 있다.
상속을 위한 조건
1. IS-A 관계
2. HAS-A 관계
상속은 IS-A 관계의 표현에 매우 적절하다. HAS-A 관계의 표현에도 사용할 수 있으나, 프로그램의 변경에 많은 제약을 가져다 줄 수 있다.
Comments