TIL - 2025년 10월 04일
📚 오늘 배운 것 / 실행한 것 TIL 작성하기 영어 article 1개 해석 영어 5줄 일기 쓰기 영어 학원 숙제하기 Swift 익스텐션, 프로토콜, 예외 처리 내용 정리 💡 오늘 느낀 점 오늘은 영어 article 해석, 영어 학원 숙제(단어암기), 영어 5줄 일기, Swift 익스텐션, 프로토콜, 예외 처리에 대한 내용...
📚 오늘 배운 것 / 실행한 것 TIL 작성하기 영어 article 1개 해석 영어 5줄 일기 쓰기 영어 학원 숙제하기 Swift 익스텐션, 프로토콜, 예외 처리 내용 정리 💡 오늘 느낀 점 오늘은 영어 article 해석, 영어 학원 숙제(단어암기), 영어 5줄 일기, Swift 익스텐션, 프로토콜, 예외 처리에 대한 내용...
예외 처리란? 런타임 중 발생할 수 있는 예외를 처리하지 않으면 애플리케이션이 다운되는 상황이 발생할 수 있음. 이런 상황을 막기 위해 발생하거나 특정 조건에 맞지 않아 예외를 던져 고의적으로 발생시킨 예외를 처리할 수 있음. 사용자 정의 예외 직접 사용할 예외를 정의할 수 있음. 주로 열거형(enum)으로 정의하며, 예외로 사용될 열거형...
익스텐션 사용 기존에 정의된 클래스, 구조체, 열거형 등에 익스텐션을 통해 프로토콜을 구현하도록 추가할 수 있음. 구문 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{...