일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 디자인 트렌드
- 패스트캠퍼스
- 뉴모피즘
- 스큐어모피즘
- 직장인인강
- 머티리얼 디자인
- ios
- git workflow
- 아이폰
- 픽셀
- Git Tutorial
- commit message
- SWIFT
- 포인트
- 뉴북
- commit
- 8 그리드 시스템
- 패스트캠퍼스후기
- 입력 개수 제한
- commit messages
- git
- viewDidLoad
- .DS_Store
- 플랫디자인
- viewDidAppear
- 마크다운
- iOS앱개발올인원패키지Online.
- Xcodebuild
- 패캠챌린지
- 직장인자기계발
- Today
- Total
왕논의 연구실
패스트캠퍼스 챌린지 18일차 본문
오늘은 클래스 상속에 대해 알아보았습니다.
상속에 대한 개념은 다른 언어에서도 많이 있었기 때문에 그 자체는 어렵지 않습니다.
부모, 자식으로 되어서 부모클래스의 것들을 자식클래스도 이용할 수 있습니다.
상속을 이용해서 코드 중복을 줄일 수 있습니다.
따로 작성하는 경우
class superClass {
let a: String = ""
let b: Int = 0
}
class subClass {
let a: String = ""
let b: Int = 0
let c: String = "자식클래스"
}
상속을 이용하는 경우
class superClass {
let a: String = ""
let b: Int = 0
}
class subClass: superClass {
let c: String = "자식클래스"
// 중복되는 코드 삭제
}
상속에는 규칙이 있습니다.
한 개의 superclass만 상속 가능합니다. 하나의 superclass에서만 상속받을 수 있습니다. 여러 superclass를 상속 받는 것은 안 됩니다.
부모는 여러 자식들을 가질 수 있습니다. 하나의 superclass는 여러 subclass에 상속해 줄 수 있습니다.
상속의 깊이는 상관이 없습니다. 상속의 깊이란 계속해서 상속해나가는 것을 의미합니다. superclass -> subclass -> subclass -> subclass 식으로 계속해서 상속할 수 있습니다.
부모 <- 자식 클래스 로 데이터를 줄 때는 업캐스팅을 합니다.
묵시적으로 타입캐스팅 할 수도 있고, as를 사용해서 명시적으로 할 수 있습니다. 이렇게 하면 부모클래스가 가지고 있는 프로퍼티나 함수에만 접근가능해지게 됩니다. 그리고 override된 것이 있다면 override된 것으로 표현됩니다. 즉, 자식클래스가 가진 것 중 부모도 가지고 있는 것에만 접근 가능해지게 됩니다. 이 상태에서 자식클래스가 가지고 있는 데이터도 보고 싶다면 다운캐스팅을 해줘야합니다.
부모 -> 자식 클래스 로 데이터를 줄때는 다운캐스팅을 합니다.
이때는 에러가 발생할 위험이 있습니다. 왜냐하면 자식이 가진 프로퍼티나 함수 중 부모 클래스가 갖지 못한 것들도 있을 수 있기 때문입니다. 그렇기 때문에 옵셔널 바인딩을 통해 확인 후 다운캐스팅해줘야합니다.
기존에 작성하던 방식이 아니라 다르게 쓰려고 하니깐 글 작성에 대해 굉장히 힘들어졌습니다. 일단 다시 글 쓰는 폼이 잡힐 때까지 왔다갔다 할 것 같습니다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지Online.
'강의 > 강의 챌린지(iOS 앱 개발 올인원 패키지 Online)' 카테고리의 다른 글
패스트캠퍼스 챌린지 20일차 (0) | 2021.11.20 |
---|---|
패스트캠퍼스 챌린지 19일차 (0) | 2021.11.19 |
패스트캠퍼스 챌린지 17일차 (0) | 2021.11.17 |
패스트캠퍼스 챌린지 16일차 (0) | 2021.11.16 |
패스트캠퍼스 챌린지 15일차 (0) | 2021.11.15 |