728x90
λ°˜μ‘ν˜•

κ°œλ°œμƒμ‹ 5

[κ°œλ°œμƒμ‹] APIλž€ 무엇인가?

API와 UI UI, APIλŠ” λ‘˜λ‹€ Interface이닀. UI = User Interface API = Application programming Interface μΈν„°νŽ˜μ΄μŠ€ (Interface) μΈν„°νŽ˜μ΄μŠ€(interface)λŠ” 컴퓨터 μ‹œμŠ€ν…œλΌλ¦¬ 정보λ₯Ό κ΅ν•œν•˜λŠ” 곡유 경계λ₯Ό μ˜λ―Έν•œλ‹€, ν„°μΉ˜ 슀크린과 같은 일뢀 컴퓨터 ν•˜λ“œμ›¨μ–΄ μž₯μΉ˜λ“€μ€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 데이터λ₯Ό μ†‘μˆ˜μ‹  ν•  수 있으며, λ§ˆμš°μŠ€λ‚˜ 마이크둠 폰가 같은 μž₯μΉ˜λ“€μ€ 였직 μ‹œμŠ€ν…œμ— 데이터λ₯Ό μ „μ†‘λ§Œ ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. UI (μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€, User Interface) μ‚¬μš©μžμ™€ κΈ°κ³„λ‚˜ μ‹œμŠ€ν…œ 같은 사물이 μ†Œν†΅ν•˜λŠ” 데 도움을 μ£ΌλŠ” λ§€κ°œμ²΄μ΄λ‹€. UIλŠ” 기본적으둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜(μ΄ν•˜ μ•±)을 μ‚¬μš©ν•˜λŠ” μ‚¬μš©μž(user) κ°€ μ‹œμŠ€ν…œμ„ μ œμ–΄ν•  수 있게 ..

[κ°œλ°œμƒμ‹] λ””μžμΈ νŒ¨ν„΄

μ†Œν”„νŠΈμ›¨μ–΄ λ””μžμΈ νŒ¨ν„΄μ΄λž€? μ†Œν”„νŠΈμ›¨μ–΄ 개발 λ°©λ²•μœΌλ‘œ μ‚¬μš©λ˜λŠ” λ””μžμΈνŒ¨ν„΄(Desigin Pattern)은 과거의 μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ³Όμ •μ—μ„œ 발견된 μ„€κ³„μ˜ λ…Έν•˜μš°λ₯Ό μΆ•μ ν•˜μ—¬ κ·Έ 방법에 이름을 λΆ™μ—¬μ„œ 이후에 μž¬μ‚¬μš©ν•˜κΈ° 쒋은 ν˜•νƒœλ‘œ νŠΉμ • κ·œμ•½μ„ λ§Œλ“€μ–΄μ„œ μ •λ¦¬ν•œ 것이닀. λ””μžμΈ νŒ¨ν„΄μ€ μ†Œν”„νŠΈμ›¨μ–΄ 섀계에 μžˆμ–΄ 곡톡적인 λ¬Έμ œλ“€μ— λŒ€ν•œ ν‘œμ€€μ μΈ 해법과 μž‘λͺ…법을 μ œμ•ˆν•˜λ©°, μ•Œκ³ λ¦¬μ¦˜κ³Ό 같이 ν”„λ‘œκ·Έλž¨ μ½”λ“œλ‘œ λ°”λ‘œ λ³€ν™˜λ  수 μžˆλŠ” ν˜•νƒœλŠ” μ•„λ‹ˆμ§€λ§Œ, νŠΉμ •ν•œ μƒν™©μ—μ„œ ꡬ쑰적인 문제λ₯Ό ν•΄κ²°ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 즉 "효율적인 μ½”λ“œλ₯Ό λ§Œλ“€κΈ° μœ„ν•œ 방법둠"이라고 μƒκ°ν•˜μ‹œλ©΄ λœλ‹€. λ””μžμΈ νŒ¨ν„΄μ€ μ™Έμš°κΈ°λ³΄λ‹€λŠ” μ–΄λ– ν•œ νŒ¨ν„΄μ΄ μžˆλŠ”μ§€ μ•Œκ³  μˆ˜λ§Žμ€ λ””μžμΈ νŒ¨ν„΄μ—μ„œ λ‹€μ–‘ν•œ μ½”λ”© λ…Έν•˜μš°λ₯Ό μŠ΅λ“ν•˜λŠ”κ²ƒμ΄ μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•œλ‹€. "이 μ½”λ“œμ—λŠ” 무쑰건 이 νŒ¨ν„΄..

[κ°œλ°œμƒμ‹] 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° (OOP)

객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ€ 컴퓨터 ν”„λ‘œκ·Έλž˜λ°μ˜ νŒ¨λŸ¬λ‹€μž„ 쀑 ν•˜λ‚˜μ΄λ‹€. 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ€ 컴퓨터 ν”„λ‘œκ·Έλž¨μ„ λͺ…λ Ήμ–΄μ˜ λͺ©λ‘μœΌλ‘œ λ³΄λŠ” μ‹œκ°μ—μ„œ λ²—μ–΄λ‚˜ μ—¬λŸ¬ 개의 λ…λ¦½λœ λ‹¨μœ„, 즉 "객체"λ“€μ˜ λͺ¨μž„μœΌλ‘œ νŒŒμ•…ν•˜κ³ μž ν•˜λŠ” 것이닀. 각각의 κ°μ²΄λŠ” λ©”μ‹œμ§€λ₯Ό μ£Όκ³ λ°›κ³ , 데이터λ₯Ό μ²˜λ¦¬ν•  수 μžˆλ‹€. - μœ„ν‚€ν”Όλ””μ•„ - 객체지ν–₯ ν”„λ‘œκ·Έλž¨λ°(Object-Oriented Programming)은 ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„ 쀑 ν•˜λ‚˜λ‘œ, μƒνƒœ(state)와 ν–‰μœ„(behave)둜 이루어진 κ°μ²΄λ“€κ°„μ˜ μƒν˜Έμž‘μš©μ„ 톡해 ν”„λ‘œκ·Έλž¨μ„ 섀계, 개발 ν•˜λŠ” 것이닀. 즉, μ‰½κ²Œ 말해 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ€ 객체λ₯Ό λ§Œλ“œλŠ” 것이닀. '객체' λΌλŠ” 말은 Objectλ₯Ό μ§μ—­ν•œ 말인데, μ‰½κ²Œ 말해 λ³€μˆ˜μ™€ λ©”μ†Œλ“œλ₯Ό κ·Έλ£Ήν•‘ ν•œ κ°œλ…μ΄λ‹€. 즉, ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•„μš”ν•œ 데이터..

[κ°œλ°œμƒμ‹] ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„

ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„(programming paradigm)μ΄λž€? νŠΉμ • 관점과 μ ‘κ·Ό 방식에 λ”°λ₯Έ 개발자의 코딩방식 ν”„λ‘œκ·Έλž˜λ°(Programming) μ΄λž€? ν•˜λ‚˜ μ΄μƒμ˜ κ΄€λ ¨λœ 좔상 μ•Œκ³ λ¦¬μ¦˜μ„ νŠΉμ •ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μ΄μš©ν•΄ ꡬ체적인 컴퓨터 ν”„λ‘œκ·Έλž¨μœΌλ‘œ κ΅¬ν˜„ν•˜λŠ” κΈ°μˆ μ„ μ˜λ―Έν•œλ‹€. νŒ¨λŸ¬λ‹€μž„(Paradigm) μ΄λž€? μ–΄λ–€ ν•œ μ‹œλŒ€ μ‚¬λžŒλ“€μ˜ κ²¬ν•΄λ‚˜ 사고λ₯Ό 근본적으둜 κ·œμ •ν•˜κ³  μžˆλŠ” ν…Œλ‘λ¦¬λ‘œμ„œμ˜ μΈμ‹μ˜ 체계, λ˜λŠ” 사물에 λŒ€ν•œ 이둠적인 ν‹€μ΄λ‚˜ 체계λ₯Ό μ˜λ―Έν•˜λŠ” κ°œλ…μ„ μ˜λ―Έν•œλ‹€. ν”„λ‘œκ·Έλž˜λ° + νŒ¨λŸ¬λ‹€μž„(Programming Paradigm)μ΄λž€? κ°œλ°œμžκ°€ ν”„λ‘œκ·Έλž˜λ°μ„ μœ„ν•΄ μ–΄λ– ν•œ '관점'을 가지고 κ°œλ°œμ„ 할지에 λŒ€ν•΄μ„œ 결정을 ν•˜λŠ”λ° 도움을 μ£ΌλŠ” 것을 μ˜λ―Έν•œλ‹€. ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μ˜ λ³€ν™” 'ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„'이라 ν•˜λ©΄ ..

[κ°œλ°œμƒμ‹] ν”„λ ˆμž„μ›Œν¬μ™€ 라이브러리의 차이점

ν”„λ ˆμž„μ›Œν¬(Framework)λž€? 컴퓨터 ν”„λ‘œκ·Έλž˜λ°μ—μ„œ, μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬(software framework)λŠ” λ³΅μž‘ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κ±°λ‚˜ μ„œμˆ ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” κΈ°λ³Έ κ°œλ… ꡬ쑰이닀. κ°„λ‹¨νžˆ λΌˆλŒ€, 골쑰(ιͺ¨η΅„), ν”„λ ˆμž„μ›Œν¬(framework)라고도 ν•œλ‹€. - μœ„ν‚€λ°±κ³Ό - ν”„λ ˆμž„μ›Œν¬λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 μ‹œ ν•„μˆ˜μ μΈ μ½”λ“œ, μ•Œκ³ λ¦¬μ¦˜, DB 컀λ„₯μ…˜ λ“±μ˜ κΈ°λŠ₯듀을 μœ„ν•΄ λΌˆλŒ€(ꡬ쑰)λ₯Ό μ œκ³΅ν•œλ‹€. κ°œλ°œμžλŠ” μ΄λŸ¬ν•œ λΌˆλŒ€ μœ„μ—μ„œ μ½”λ“œλ₯Ό μž‘μ„±ν•΄ μ›ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  수 μžˆλ‹€. ν”„λ ˆμž„μ›Œν¬λŠ” μ†Œν”„νŠΈμ›¨μ–΄μ˜ ꡬ체적인 뢀뢄에 ν•΄λ‹Ήν•˜λŠ” 섀계와 κ΅¬ν˜„μ„ μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•˜κ²Œλ” μƒν˜Έ ν˜‘λ ₯ν•˜λŠ” ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€μ˜ 집합이라고 ν•  수 μžˆλ‹€. μ‰½κ²Œ 말해 ν”„λ ˆμž„μ›Œν¬λŠ” κ°œλ°œμžκ°€ κ°œλ°œμ„ μ‰½κ²Œ ν•  수 μžˆλ„λ‘ λΌˆλŒ€λ₯Ό μ œκ³΅ν•΄μ€€λ‹€κ³  μƒκ°ν•˜λ©΄ λœλ‹€. ..

728x90
λ°˜μ‘ν˜•