
매우 다른 두 키워드지만, 얼핏 봤을 때 무언가를 못하게 하려 막는 듯한 이미지로 나에게 비슷하게 다가와 이번에 명확히 구분하여 알아놔야겠어서 정리해본다. final final로 선언 시, 재정의(override) 하는 것을 막을 수 있다. 서브클래스에서 특정 메소드, 프로퍼티, 서브스크립트가 오버라이드 하는 것을 방지하기 위해 final 키워드를 사용한다. final func, final class ... 만약 final로 선언된 메소드, 프로퍼티, 서브스크립트를 오버라이드 하려고 할 경우 컴파일 타임에 에러가 발생. 클래스 전체를 final로 선언하여 클래스 안의 모든 메소드, 프로퍼티 등이 override 되는 것을 막을 수 있다. 예를 들어 class Job { final var pay = 300..
Generic Generic(제네릭) 모든 타입에서 동작할 수 있는 유연하고 재사용 가능한 함수와 타입을 작성할 수 있게 해줍니다. 이를 통해 중복을 피하고, 의도를 보다 깔끔하게, 추상적으로 코드를 작성할 수 있습니다. 실제로 스위프트의 standard library는 제네릭 코드로 작성되었습니다. Array, Dictionary 역시 제네릭 컬렉션입니다. 우리는 Int값을 가지는 배열도 만들 수 있고, String 값을 가지는 배열도 만들 수 있습니다. 제네릭이 해결하는 문제 다음 2개의 Int값을 바꾸는 swapTwoInts 라는 '함수'를 살펴볼게요. func swapTwoInts(_ a: inout Int, _ b: inout Int) { let temporaryA = a a = b b = te..
- Total
- Today
- Yesterday
- 스위프트
- 유즈케이스
- UITest
- dismiss
- snapkit
- 오토레이아웃
- Realm
- http/1
- Clean Architecture
- 부스트캠프
- Kotlin
- BeautifulSoup
- 2023년
- CRAWL
- Autolayout
- 클린 아키텍처
- IOS
- CollectionView
- http/1.1
- 웹모바일
- XCTest
- 네트워킹
- 2024년
- swift
- collectionViewCell
- Info.plist
- equaltosuperview
- KeyChain
- 회고
- IntrinsicContentSize
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |