🔥 소개

157자
3분

이번 장에서는 Swift 언어의 가장 중요한 특징 중 하나인 상속(Inheritance)에 대해 알아보도록 하겠습니다.

상속이란 한 클래스가 다른 클래스의 메서드, 속성 및 기타 특성을 물려받는 것을 말해요. 이때 상속을 받는 클래스를 서브클래스(subclass)라고 하고, 상속을 해주는 클래스를 슈퍼클래스(superclass)라고 한답니다. 상속은 클래스를 다른 타입과 구별 짓는 근본적인 특성이에요.

Swift에서는 서브클래스가 슈퍼클래스의 메서드, 속성, 서브스크립트 등을 호출하고 접근할 수 있지요. 뿐만 아니라 이를 오버라이딩(overriding)하여 기존의 동작을 수정하거나 개선할 수도 있어요. Swift는 오버라이딩 정의가 슈퍼클래스의 정의와 일치하는지 확인하여 올바른 오버라이딩이 이루어지도록 도와줍니다.

또한 클래스는 상속받은 속성에 속성 옵저버(property observer)를 추가하여 값이 변경될 때마다 통지받을 수 있어요. 속성 옵저버는 저장 속성이든 계산 속성이든 상관없이 모든 속성에 추가할 수 있답니다.

이렇게 상속은 코드의 재사용성을 높이고, 클래스 간의 계층적 관계를 정의할 수 있게 해줍니다. 상속을 통해 기존 클래스의 기능을 확장하고 새로운 기능을 추가할 수 있어 더욱 효율적이고 유연한 코드를 작성할 수 있게 되는 거예요.

그럼 이제부터 상속의 다양한 활용 방법과 규칙들에 대해 차근차근 살펴보면서, 상속이 우리 코드에 어떤 힘을 불어넣어 주는지 함께 알아봅시다!

YouTube 영상

채널 보기
입력을 전처리하는 Functor - Contravariant와 contramap 이해하기 | 프로그래머를 위한 카테고리 이론
매번 ValidationPipe 복붙하세요? NestJS 전역 파이프로 한 번에 해결하기 | NestJS 가이드
변환 파이프로 컨트롤러 코드 깔끔하게 만들기 | NestJS 가이드
NestJS 인터셉터란? | NestJS 가이드
NestJS 커스텀 데코레이터 인자 전달 및 파이프 검증 활용법 | NestJS 가이드
Writer 펑터와 클라이슬리 카테고리 | 프로그래머를 위한 카테고리 이론
NestJS 역할 기반 접근 권한 부여 - Guard, Reflector | NestJS 가이드
NestJS 커스텀 데코레이터, createParamDecorator 사용 | NestJS 가이드