iOS/Swift 상식

Extension 이란?

HJ39 2023. 3. 8. 23:21

Extension은 새로운 함수적 기능을 class, struct, enum, protocol에 확장한다는 의미를 가진다.

 

Extension으로 타입에 추가할 수 있는 기능

  • 연산 타입 프로퍼티/ 연산 인스턴스 프로퍼티
  • 타입 메서드/ 인스턴스 메서드
  • 이니셜라이저
  • SubScripts
  • 중첩 타입
  • 특정 프로토콜을 준수할 수 있도록 기능 추가

 

상속과 Extension의 차이점

  상속 Extension
타입 클래스 타입만 가능 구조체, 클래스, 프로토콜 등에 적용 가능
특징 - 특정 타입을 물려받아 하나의 새로운 타입을 정의하고 추가 기능을 구현할 수 있음
- 수직 확장
- 기존 타입에 기능을 추가 가능
- 수평 확장
- 특정 타입을 준수하는 프로토콜 별 구현부를 분리하여 코드 가독성을 높일 수 있음
override 기존 기능을 재정의 할 수 있음 재정의 불가능

 

 

# 참고한 사이트

  1. https://boidevelop.tistory.com/8

'iOS > Swift 상식' 카테고리의 다른 글

property wrapper  (0) 2023.03.10
defer  (0) 2023.03.09
Escaping 사용하기  (0) 2023.03.05
Escaping 개념  (0) 2023.03.04
Mutating  (0) 2023.03.04