์ ์ธ๊ณผ ์ด๊ธฐํ
- ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
- ์ ์ธ๋ง ํ๊ณ ๋์ค์ ์ด๊ธฐํ
- ์ต์ ๋ ๊ฐ์ผ๋ก ํ์ ์ ์ ํด์ค์ง ์๋์ง ๊ฒฐ์
ํ์ผ ์ถ๊ฐ
- ์ค์ ํ์ผ์ ๊ฒฝ๋ก์ ๊ด๊ณ(Reference)๋ฅผ ๋์ด์ฃผ์ด์ผ ํ๋ค. (์ถ๊ฐํ ๋๋ ์ญ์ ํ ๋)
Class(ํด๋์ค)
Super Class, Sub Class
- ๋ถ๋ชจ-์์์ ๊ด๊ณ๋ ์๋์ ์ธ ๊ฒ์ด๋ค.
- Super Class(๋ถ๋ชจ ํด๋์ค)
- Sub Class(์์ ํด๋์ค) -> Sub Classing(์์์ ๋ง๋๋ ๊ณผ์ )
- Base Class(์ด๋์์๋ ์์๋ฐ๊ณ ์์ง ์๋ ํด๋์ค)
Inheritance
- ๋ค๋ฅธ ํด๋์ค๋ก๋ถํฐ ๋ฉค๋ฒ(ํ๋กํผํฐ๋ ๋ฉ์๋)๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ธ ์ ์๋๋ฐ ์ด๋ฅผ ์์์ด๋ผ๋ ์ฉ์ด๋ก ๋ถ๋ฅผ ์ ์๋ค.
- ์์์ ๋ฐ์ ํด๋์ค๋ฅผ Sub Class๋ผ๊ณ ๋ถ๋ฅด๊ณ , ์์์ ํด์ค ํด๋์ค๋ Super Class์ด๋ค.
Override(์ฌ์ ์)
- ๋ถ๋ชจ ํด๋์ค(Superclass)๋ก๋ถํฐ ๋ฐ์ ๋ฉค๋ฒ๋ฅผ ํ์/์์ ํด๋์ค์์ ์ํ๋ ํํ๋ก ์ฌ์ ์(๋ณ๊ฒฝ)์ด ๊ฐ๋ฅ
- ์์ ๋ฐ์ ๋ฉค๋ฒ๋ฅผ ์ฌ์ ์ ํ ๋๋ override ํค์๋๋ฅผ ๋ถ์
- ๋ถ๋ชจ ํด๋์ค์์ ์ ์๋ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ super ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํด์ผ ํจ
Struct(๊ตฌ์กฐ์ฒด)
- ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํด์ ๊ด๋ฆฌํ ๋ ์ฌ์ฉ
struct Student {
let name: String
let studentID: Int
}
Instance(์ธ์คํด์ค)
- ์ ์ํ ํด๋์ค๋ฅผ ์ค์ ์ฌ์ฉํ๊ธฐ ์ํ ํํ๋ก ์ฐ์ด๋ด๋ ๊ฒ
- ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ฒ์ ์๋ฏธ
Property, Method, Member
- ํ๋กํผํฐ : ํด๋์ค ๋ด๋ถ์ ์ ์ธ๋ ๋ณ์
- ๋ฉ์๋ : ํด๋์ค ๋ด๋ถ์ ์ ์ธ๋ ํจ์
- ๋ฉค๋ฒ : ํด๋์ค ๋ด๋ถ์ ์์๋ค ํต์นญ(ํ๋กํผํฐ, ๋ฉ์๋)
Initializer
- ์ ์ธ๋ง ํด์ฃผ๊ณ ์ด๊ธฐํ๋ฅผ ํด์ฃผ์ง ์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ํด๋์ค์ ๊ตฌ์กฐ์ฒด ์ญ์ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
- ๊ทธ๋ ๊ธฐ์ ์ด๊ธฐํ๋ฅผ ํด์ฃผ๋ ๊ณผ์ ์ ๋งค์ฐ ์ค์ํ๋ค.
- ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
- ์ด๊ธฐํ ๋ฉ์๋ ๋ด์์ ์ด๊น๊ฐ ์ง์
Memberwise Initializer (๋ฉค๋ฒ์์ด์ฆ ์ด๊ธฐํ ๊ตฌ๋ฌธ)
๊ตฌ์กฐ์ฒด์์๋ ๋ชจ๋ ํ๋กํผํฐ ๊ฐ์ ์ด๊ธฐํํ๋ ๊ตฌ๋ฌธ์ ์๋์ผ๋ก ์ ๊ณตํ๋ค. ํด๋์ค์ฒ๋ผ ์ด๊ธฐํ ๊ตฌ๋ฌธ์ ์์ฑํ ํ์๊ฐ ์๋ค.
'๐ฑ SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SeSAC] 220715 TIL (0) | 2022.07.21 |
---|---|
[SeSAC] 220714 TIL (0) | 2022.07.21 |
[SeSAC] 220712 TIL (0) | 2022.07.13 |
[SeSAC] 220711 TIL (0) | 2022.07.11 |
[SeSAC] 220708 TIL (0) | 2022.07.08 |