[Swift] 초기화(Initializers) 알아보기 (4) - 이니셜라이저의 상속 재정의와 자동 상속
·
Apple/Swift
안녕하세요! 피피아노입니다🎵 이번 포스팅에서도 저번에 이어서 초기화(Initializers)에 대해 정리를 해볼텐데 이번에는 초기화 중에서 상속과 재정의에 대해서 알아보도록 하겠습니다! 그럼 바로 시작하겠습니다. 이니셜라이저 상속과 재정의Swift에서 이니셜라이저는 기본적으로 부모 클래스로부터 상속되지 않는 특성을 가지고 있습니다. 이는 자식 클래스가 부모 클래스의 이니셜라이저를 그대로 사용할 경우, 자식 클래스의 새로운 인스턴스가 완벽하게 초기화되지 않는 문제를 예방하기 위함입니다. 그러나, 특별한 상황에서는 부모 클래스의 이니셜라이저가 자동으로 상속되기도 합니다.(이 내용은 아래에서 다시 설명하도록 하겠습니다) 만약 자식 클래스에서 부모 클래스의 이니셜라이저를 사용하고자 한다면, 동일한 이니셜라이저..
[Swift] 프로토콜(protocol)
·
Apple/Swift
1. 프로토콜(protocol) 특정 클래스와 관련 없는 프로퍼티, 메서드 선언 집합 함수(메서드) 정의는 없음 기능이나 속성에 대한 설계도 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 한다. 자바와 C#에서 interface에 해당하는 것이다. C++의 abstract base class Protocol Oriented Programming(POP) 프로토콜 단위로 묶어서 표현하고, extension으로 기본적인 것을 구현(protocol default implementation)을 해서 단일 상속의 한계를 극복하고자 하는 프로그래밍 기법이다. 2. 스위프트 상속과 프로토콜 채택 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜 class 클래스명:부모명, 프로토콜명{..
[Swift] 클래스와 상속, super와 override
·
Apple/Swift
1. 클래스란? Swift에서 클래스는 객체 지향 프로그래밍(OOP)의 기본 빌딩 블록입니다. 해당 클래스 유형의 개체가 가질 수 있는 속성과 동작을 정의하는 청사진입니다. 클래스는 개체라고도 하는 인스턴스를 만들기 위한 템플릿 또는 프로토타입 역할을 합니다. 클래스에서 데이터를 저장하는 속성과 작업을 수행하거나 기능을 제공하는 메서드를 정의할 수 있습니다. 속성은 이름, 사용 기간 또는 색상과 같은 개체의 특성 또는 특성을 나타냅니다. 반면에 메서드는 개체가 수행할 수 있는 작업 또는 동작을 정의하는 클래스와 관련된 함수입니다. Swift의 클래스는 상속을 지원하므로 수퍼클래스에서 속성과 메서드를 상속하는 하위클래스를 만들 수 있습니다. 이렇게 하면 코드 재사용이 용이해지고 기능이 추가되거나 수정된 ​..