Extension에 대해 설명하시오. ( 다시)

이하연·2021년 9월 16일
0

[Swift] 스위프트

목록 보기
21/27

Extension

정의

존재하는 클래스, 구조체, 열거형, 프로토콜 타입에 새롭게 기능적인 부분을 추가할 수 있고 요구사항을 구현하는 데도 사용할 수 있는 문법

역할

이전의 내부 소스를 접근할 수 없는 원본 타입들에 대해 새로운 기능을 부여할 수 있는 방법

구조체, 클래스, 열거형, 프로포콜의 추가 구현부, 제약사항, 기능 등을 정의

특정 타입의 기능 및 준수하는 프로토콜별 구현부를 분리해서 보다 코드 가독성을 높일 수 있음

특징

  • Objective-C의 category와 유사하지만 다른점은 "별도의 이름을 갖지 않음"입니다.
  • 타입의 새로운 기능을 추가할 수 있으나, 기존 기능의 오버라이딩은 불허용

Extension이 타입에 추가할 수 있는 기능들

  • 계산 프로퍼티, 계산타입 프로퍼티 추가 기능
  • 인스턴스 메서드, 타입 메서드의 정의
  • 새로운 생성자의 제공
  • subscripts 접근 방식 정의
  • 중첩타입의 정의 및 사용
  • 특정 프로토콜을 준수하는 현존 타입 정의

참고 → 다시 보기

Swift - 프로토콜, 익스텐션 - yagom's blog

0개의 댓글