Swift - 프로토콜 활용
익스텐션 사용 기존에 정의된 클래스, 구조체, 열거형 등에 익스텐션을 통해 프로토콜을 구현하도록 추가할 수 있음. 구문 extension 객체명: 프로톹콜명, ....{ // 구현 내용 } 예시 class TestClass{ var ex: Int init(ex: Int) { self.ex = ex ...
익스텐션 사용 기존에 정의된 클래스, 구조체, 열거형 등에 익스텐션을 통해 프로토콜을 구현하도록 추가할 수 있음. 구문 extension 객체명: 프로톹콜명, ....{ // 구현 내용 } 예시 class TestClass{ var ex: Int init(ex: Int) { self.ex = ex ...
프로토콜이란? 객체의 설계도로 프로퍼티나 메서드를 구현하는 것이 아닌 단순 역할만 정의해둔 것. Java의 인터페이스와 유사함. 프로토콜을 구현하는 클래스나 구조체, 열거형은 프로토콜의 명시되어 있는 프로퍼티와 메서드를 반드시 구현해야만함. 구문 protocol 프로토콜명{ // .. } 예시 pr...
익스텐션(Extension)이란? 기존에 이미 정의되어 있는 클래스, 구조체, 열거형 등에 새로운 기능을 추가할 수 있게 해줌. 단, 기존에 정의되어 있는 프로퍼티나 메서드를 오버라이딩하는 것은 불가능함. 구문 extension 객체명{ // 추가기능 } 연산 프로퍼티 익스텐션 익스텐션을 통해 추가...
📚 오늘 배운 것 / 실행한 것 TIL 작성하기 영어 article 1개 해석 영어 5줄 일기 쓰기 영어 학원 숙제하기 Swift 상속, 오버라이딩, 옵셔널 체이닝, 초기화 메서드, 타입 캐스팅, 열거형 공부 내용 정리 💡 오늘 느낀 점 오늘은 영어 article 해석, 영어 학원 숙제(단어암기), 영어 5줄 일기, Swif...
열거형이란? 연관된 값들을 하나의 타입으로 묶어서 표현할 수 있음. 클래스와 구조체처럼 직접 초기화(init)할 수는 없음. 구문 enum 열거형명{ case 멤버1 case 멤버2 ... } 예시 enum Category{ case exercise case music case friend cas...
옵셔널 타입으로 선언된 값을 사용하기 위해선 먼저 옵셔널 언래핑을 해줘야함. 이때 주로 사용하는 방식은 옵셔널 바인딩이지만, 옵셔널 바인딩은 아래와 같은 상황에서 사용하기 번거러움. 예시 class Test{ var ex: String? init(ex: String?){ self.ex = ex } } v...
초기화 메서드(생성자)란? 클래스, 구조체를 초기화할 땐 반드시 저장 프로퍼티에 초기값이 할당되어야함. 초기화 메서드를 통해 클래스, 구조체에 정의된 저장 프로퍼티에 값을 할당할 수 있음. 이때, 초기화 메서드명은 반드시 init으로 작성해야만함. init 이외에 메서드명은 컴파일러에서 인식하지 못함. ...
하위 클래스 인스턴스는 상위 클래스 타입으로 선언된 변수에 할당 가능함. 하위 클래스는 상위 클래스에 선언된 모든 프로퍼티, 메서드를 가지고 있기 때문임. 반대가 되는 경우는 성립하지 않는데, 하위 클래스에서 추가된 프로퍼티, 메서드를 상위 클래스에서는 알 수 없기 때문임. 예시 class Animal{...
상속이란? 한 클래스에서 정의한 메서드, 프로퍼티를 다른 클래스에서 그대로 물려받는 것을 의미함. 상속을 받은 하위 클래스는 상위 클래스에 정의된 프로퍼티, 메서드를 재정의하여 사용할 수 있음. 클래스에서만 지원하는 기능이라 구조체에서는 불가능함. Swift는 다중 상속을 지원하지 않기 때문에 하나의 클래스만 상속 가능함. 구...
📚 오늘 배운 것 / 실행한 것 TIL 작성하기 영어 article 1개 해석 영어 5줄 일기 쓰기 영어 학원 숙제하기 Swift 타입 프로퍼티, 메서드 내용 정리 💡 오늘 느낀 점 오늘은 영어 article 해석, 영어 학원 숙제(단어암기), 영어 5줄 일기, Swift 타입 프로퍼티, 메서드에 대한 내용을 정리하였다. 오...