- ๋ด ์๊ฐ
๊ฐ๋ฐ์ ํ๋ฌธ์ด ์๋๋ผ ์ด๋๊ณผ๋ ๊ฐ์ ๊ฒ์ด๋ค.
ํ ๋ฒ์ ๋ง์ ๊ฒ์ ๋ฐฐ์ด๋ค๊ณ ํด๋, ๊ต์ฌ๋ฅผ ์ด์ฌํ ๋ณธ๋ค ํด๋ ๊พธ์คํ, ์ค์ ๋ก ์ํด๋ณด๋ฉด ์ค๋ ฅ์ด ๋ ์ ์๋ ๊ฒ์ด ์ด๋๊ณผ ๊ฐ๋ค.
-
์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ฐ์ดํฐ์ ๊ด์ ์์ ์ธ์ํ๊ณ ์ฒ๋ฆฌํ๋ค.
-
์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ค.
- ๋๊ด์์ผ๋ก ๋ตํด๋ผ
์ฃผ์ ๋ ๊ฒฐ๋ก ์ ๋จผ์ ๋งํ๊ณ ๋ค์ ๋ถ์ฐ์ค๋ช
-
์ฝ์ ์ 'ํ์ง๋ง'์ผ๋ก ๋ฐฉํฅ์ ๋ฐ๊พธ์ด ๊ฐ์ ์ผ๋ก ์ดํํ๋ค.
-
'์ง์ฅ์ธ ์ฒ๋ผ'์ด ์๋ '์ด๋ฏธ ์ง์ฅ์ธ'์ด๋ ๋ง์๊ฐ์ง
-
๋ฉด๊น๋ชฐ
๋ฉด์ ์ ๊น๋ณด๊ธฐ ์ ๊น์ง ๋ชจ๋ฅธ๋ค ใ ใ
- ์๋ฌต์ง ์์ ๊ธฐ
- ๊ธฐ์ ๋ก๋ง ํด๊ฒฐํ๋ ค๊ณ ํ์ง ์๋๋ค
- "์๋๋ค"๊ณ ํ์ง ์๋๋ค ์ ๋ง ๊ฐ๋ฐ์ ์ผ๋ก ์๋๋ ๊ธฐํ ๋ด์ฉ์ด ์๋ค๊ณ ํ๋๋ผ๋ "์๋๋ค"๋ ๋ง ๋์ ๋์์ ์ ์ํ๋ค. ์ ํํ ์ ์๋ ๋์์ ์ฌ๋ฌ๊ฐ ์ ์ํ๊ณ ๊ฐ ๋์๋ค์ ๋ํ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ช ํํ ์ ๋ฆฌํด์ ๊ณต์ ํ๋ค.
- ์ต์ ์ ํผ์ณ ๊ฐ๋ฐ๋ฐฉํฅ์ ์ฐพ๋๋ค
- ๋ชจ๋ ๊ฒ์ ๊ธฐ๋กํ๋ค
- ํ๋ผ๋ ๋๋ก ํ์ง ์๋๋ค
- ์ผ์ ๊ณต์
- ํผ์์ ๋ค ํ๋ ค๊ณ ํ์ง ์๊ธฐ
- ์ธ์ ํ ์ค ์๋ค
- ๋ช ํํ ๋จ์ด์ ๋ฌธ์ฅ ์ฌ์ฉ
- TODO/ Reminder
- ์์์ ์ํ๋ค
- ๊ท์ฐฎ์ ํ๋ค (์๋ํ ํ๊ธฐ ๋ฑ)
- ํ๊ณ
-
๊ฐ๋ฐ ํ๊ฒฝ, ์์คํ ์ ๊ทผ ๊ถํ ์ ์
-
๋ณดํธ์ ์ธ ํ์ ์ ์ฐจ๋ค๊ณผ ํ์ ์ผ์ ํ์
-
์จ๋ณด๋ฉ ๊ณผ์ ์์ ๋ฐ๊ฒฌํ ๋ฌธ์์ ์ค๋ฅ๋ฅผ ์์ ํ๋ฉด์ ํ์ ๊ธฐ์ฌ
-
์ฝ๊ธฐ ์ฌ์ด ์ฝ๋
-
์ค๋ณต์ด ์๋ ์ฝ๋
-
์ผ๊ด์ฑ ์๋ ์ฝ๋
์ฌ๊ธฐ์ ๋งํ๋ ์ผ๊ด์ฑ์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ํฉ์๋ ๊ท์น (= ๊ทธ๋ผ์ด๋ ๋ฃฐ)์ ์๊ธฐํ๋ค.
- ๋ค์ด๋ฐ (ํจ์๋ ๋ณ์ ๋ฑ)
- ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ
๊ณต๊ฐ์ ์ง์ญ์ฑ
ํน์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋ฒ ์ฐธ์กฐ๋์๋ค๋ฉด ๊ทธ ๋ฉ๋ชจ๋ฆฌ์ ๊ทผ์ฒ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ ์กฐ๋ง๊ฐ ์ฐธ์กฐ๋ ํ๋ฅ ์ด ๋๋ค.
์๊ฐ์ ์ง์ญ์ฑ
ํน์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋ฒ ์ฐธ์กฐ๋์๋ค๋ฉด ๊ทธ ๋ฉ๋ชจ๋ฆฌ๋ ์กฐ๋ง๊ฐ ๋ค์ ์ฐธ์กฐ๋ ํ๋ฅ ์ด ๋๋ค.
๊ณ์ธต๋ณ๋ก ์ฝ๋๋ฅผ ๋๋๋ ๊ฒ์ด ๋ฌด์กฐ๊ฑด ์์ข์ ๊ฒ์ ์๋์ง๋ง ์์ ๋ ๋ฒจ์์ ๊ธฐ๋ฅ๋ณ๋ก ๋๋๊ณ ๋ด๋ถ์ ์ผ๋ก๋ ๋ง์น ์์ ํ๋์ ํ๋ก์ ํธ์ฒ๋ผ ๋์ํ๋ ํน์ ๊ธฐ๋ฅ ํด๋๋ฅผ ๋ง๋๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค.
ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ๋ ๊ฐ์ฒด๋ค๊ณผ ๊ทธ ๊ฐ์ฒด๋ค ๊ฐ์ ์ํธ์์ฉ์ผ๋ก ํ์ ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ ๊ทผ๋ฒ์ด๋ค.
-> ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ค๊ณผ ๊ฐ์ฒด๋ค ๊ฐ์ ์ํต์ผ๋ก ๋ฐ๋ผ๋ณด๋ ๊ฒ
๊ฐ์ฒด์งํฅ์ ์ผ๋ก ์ค๊ณ -> ๋ชจ๋ธ๋ง ํ๋ค.
- ํ๋ก๊ทธ๋จ์ ์ด๋ค ๊ฐ์ฒด๋ค์ด ํ์ํ ์ง ์ ํ๋ค.
- ๊ฐ์ฒด๋ค์ ์์ฑ๊ณผ ํ๋์ ์ ํ๋ค.
- ๊ฐ์ฒด๋ค์ด ์๋ก ์ด๋ป๊ฒ ์ํตํ ์ง ์ ํ๋ค.
์์ฑ๊ณผ ํ๋์ผ๋ก ์ด๋ฃจ์ด์ง ์กด์ฌ
์ด์๊ฐ๋ฉด์ ๋ณด๋ ๋ชจ๋ ์กด์ฌ -> ๊ฐ์ฒด
instagram User ๊ฐ์ฒด
์์ฑ - ์ด๋ฆ, ์ด๋ฉ์ผ, ๋น๋ฒ, ํ๋ก์ฐ ํ๋ก์ ๋ชฉ๋ก ๋ฑ
ํ๋ - ์๊ธฐ์๊ฐํ๊ธฐ, ํ๋ก์ฐํ๊ธฐ
์ด๋ฌํ ๊ฐ์ฒด์ ํ์ ํด๋์ค ๋ผ๊ณ ํ๋ค.
ํด๋์ค๋ก ์ธ์คํด์ค(= ๊ฐ์ฒด)๋ฅผ ๋ง๋ ๋ค.
class User:
pass
# ๊ฐ์ ํด๋์ค๋ก ๋ง๋ค์์ง๋ง ์๋ก ๋ค๋ฅธ ์ธ์คํด์ค์
user1 = User()
user2 = User()
user3 = User()์ธ์คํด์ค ์ด๋ฆ.์์ฑ์ด๋ฆ(์ธ์คํด์ค ๋ณ์) = "์์ฑ์ ๋ฃ์ ๊ฐ"
user1.name = "์ฌํฌ"
user1.email = "3021062@gmail.com"
user2.name = "์ฌ"
user2.email = "1234.gmail.com"์ธ์คํด์ค๊ฐ ๊ฐ์ธ์ ์ผ๋ก ๊ฐ๊ณ ์๋ ๊ฒ์ ์ธ์คํด์ค ๋ณ์ ๋ผ ํ๋ค.
์ธ์คํด์ค ๋ณ์ ์ฌ์ฉํ๊ธฐ
์ธ์คํด์ค ์ด๋ฆ.์ธ์คํด์ค ๋ณ์ ์ด๋ฆ
print(user1.name) # ์ฌํฌ
print(user1.age) # error- ์ธ์คํด์ค ๋ฉ์๋
- ํด๋์ค ๋ฉ์๋
- ์ ์ ๋ฉ์๋
์ธ์คํด์ค ๋ณ์๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ธ์คํด์ค ๋ณ์์ ๊ฐ์ ์ค์ ํ๋ ๋ฉ์๋
class User:
def say_hello(user):
print("์๋
ํ์ธ์ ์ ๋ {}์
๋๋ค.".format(user.name))
user1 = User()
user1.name = "์ฌํฌ"
User.say_hello(user1) # ์๋
ํ์ธ์ ์ ๋ ์ฌํฌ์
๋๋ค.์๋ ๋๊ฐ๋ ๊ฐ๋ค.
User.say_hello(user1)
user1.say_hello()์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๊ด์ฌ์ฌ ๋ณ๋ก ๊ตฌ๋ณํด ๋ถ๋ฆฌํ๋ ์ค๊ณ ์์น์ด๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๋ด์ ๋์ผํ ์ญํ ์ ์ํํ๋ ๊ธฐ๋ฅ์ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ถ๋ฆฌํ๋ค.
Presentation Layer: ๋ณด์ด๋ ์์์ธ HTML, CSS, UI์ ํ์ํ ์ํ๊ด๋ฆฌ๋ก ์ด๋ฃจ์ด์ง UI ์ปดํฌ๋ํธ
Business Layer: ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋๋ฉ์ธ ๊ด๋ จ๋ ์ปดํฌ๋ํธ
Resource Access Layer: ์ ์ ์๊ฒ ์ ๊ณตํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ธฐ ์ํด ๋ฐฑ์๋ ์๋ฒ์ ์์ฒญ, ๋ก์ปฌ ์คํ ๋ฆฌ์ง ์ ๊ทผ, ์ธ๋ถ api ์๋ฒ ์์ฒญ ๋ฑ ์ธ๋ถ ์ ๋ณด ์ ๊ทผ๊ณผ ๊ด๋ จ๋ ํ ๋๋ ํจ์
Presentational & Container ํจํด
์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ผํ ํผ์ณ๋ฅผ ๋ชจ๋๋ก ๋ฌถ์ด์ ๋ถ๋ฆฌํ๋ค.