익스텐션(Extension) 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있는 기능 타입만 알고 있다면 그 타입의 기능을 확장할 수 있다. 익스텐션이 타입에 추가할 수 있는 기능 연산 타입 프로퍼티 / 연산 인스턴스 프로퍼티 타입 메서드 / 인스턴스 메서드 이니셜라이저 서브스크립트 중첩 타입 특정 프로토콜을 준수할 수 있도록 기능 추가 상속과 익스텐션의 차이 분류 상속 익스텐션 확장 수직 확장 수평 확장 사용 클래스 타입 클래스, 구조체, 프로토콜, 제네릭 등 모든 타임 재정의 가능 불가능 사용법 extension 확장할 타입 이름 { /* 기능 구현 */ } [ 사용 예 ] extension Int{ // 제너릭에 추가로 저장 파라미터와 메소드를 만들어 준다. (수평적) var ..