티스토리 뷰

Swift

Inheritance

강경 2021. 1. 2. 17:54
728x90
반응형

Inheritance : 클래스의 공통 된 부분은 최대한 재활용하기 위한 방법

 

student는 person을 상속하여, 아래의 공통되는코드(주석)부분을 안적어도 된다.

Person : Super Class (Parent Class)

Student : Sub Class (Child Class)

 

* 상속의 규칙

1. 자식은 한개의 suer class만 상속 받는다.

2. 부모는 여러 자식들을 가질 수 있다.

3. 상속의 깊이는 상관이 없다. (할머니 클래스도 생성가능)

상속 깊이를 늘린 예
casting

 

* 상속을 사용할 때 필요한 고려사항

Single Responsibility (단일책임) : 클래스는 최대한 한가지 일에만 집중한다. (골기퍼는 골 막는거만 생각한다)

Type Safety (타입이 분명해야 할 때) : 개발타입 - 웹개발 클래스, 모바일 클래스 이런식으로 딱딱 타입이 있을 때

Shared Base Classes (다자녀가 있는 경우) : 여러개의 내용이 있는 경우

Extensibility (확장성이 필요한 경우) : 개념에 대해 좀 더 깊이있게 들어가려는 경우. 캔을만들면 음료캔, 통조림캔 이런식으로

Identity (정체를 파악하기 위해) : 어떤 학생 인스턴스가 있는데, 체대생인지 미대생인지 확인하는 경우

 

뎁스가 너무 깊어지면 나중의 유지보수가 힘듬..

728x90
반응형

'Swift' 카테고리의 다른 글

이름 짓기  (0) 2021.02.13
Initializer  (0) 2021.01.02
Struct, Class 언제 무엇을 쓸까  (0) 2020.12.28
Class  (0) 2020.12.28
Method  (0) 2020.12.21