[UMC] 1μ£Όμ°¨πŸ’» - 객체 지ν–₯ vs 절차 지ν–₯ ν”„λ‘œκ·Έλž˜λ°

MadelineπŸ‘©πŸ»β€πŸ’»Β·2022λ…„ 9μ›” 21일
0

개발 지식

λͺ©λ‘ 보기
1/11

ν—·κ°ˆλ ΈλŠ”λ° μž˜λλ‹€ ! 이참에 정리해봐야지

🧑 절차 지ν–₯ ν”„λ‘œκ·Έλž˜λ°(PP: Prodedural Programing)

-일이 μ§„ν–‰λ˜λŠ” μˆœμ„œλŒ€λ‘œ ν”„λ‘œκ·Έλž˜λ°ν•˜λŠ” 방법이닀.
-C, 베이직, ν¬νŠΈλž€ λ“±
-Top-Down λ°©μ‹μœΌλ‘œ μ„€κ³„λœλ‹€.
-μΈμˆ˜μ™€ λ°˜ν™˜κ°’μœΌλ‘œ λͺ…령을 μ „λ‹¬ν•˜κ³  μˆ˜ν–‰,
-비ꡐ적 μž‘μ€ 규λͺ¨μ˜ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜
-μ½”λ“œμ˜ 가독성이 μ’‹κ³ , 컴퓨터 μ²˜λ¦¬κ΅¬μ‘°μ™€ λΉ„μŠ·ν•΄ 싀행속도가 λΉ λ₯΄λ‹€.
-각각의 μ½”λ“œκ°€ μˆœμ„œμ— λ―Όκ°ν•˜κ²Œ μ—°κ²°λ˜μ–΄ μžˆμ–΄, μœ μ§€λ³΄μˆ˜, 뢄석이 μ–΄λ ΅λ‹€.

🧑 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP: Object Oriented Lang.)

-λͺ¨λ“  데이터λ₯Ό 객체둜 μ·¨κΈ‰ν•˜κ³ , 객체가 처리 μš”μ²­μ„ λ°›μ•˜μ„ λ•Œ, 객체 내뢀에 μžˆλŠ” κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ μ²˜λ¦¬ν•˜λŠ” 방법이닀.

-C#, java, 파이썬 κ³Ό 같은 μ–Έμ–΄

-객체지ν–₯μ–Έμ–΄κ°€ μ•„λ‹Œ 언어듀도 객체지ν–₯언어방식을 μ§€μ›ν•œλ‹€. λ‹€μ–‘ν•œ λ§Žμ€ 언어에 지원할 수 μžˆλ‹€.
-같은 속성, λ‹€λ₯Έ 데이터, 객체의 μˆ˜κ°€ λ§Žλ‹€λ©΄, λ˜λŠ” μƒˆλ‘œμš΄ 속성을 μΆ”κ°€ν•˜κ³  μ‹Άμ„λ•Œ ν΄λž˜μŠ€λΌλŠ” μ„ΈνŠΈ(캑슐)을 λ§Œλ“€μ–΄μ„œ, λ³΅μ œν•  ν•„μš”λ„ μ—†κ³ , μ—λŸ¬λ„ 쀄일 수 μžˆλ‹€.

-4가지 νŠΉμ§•
1) 좔상화: 곡톡 속성을 λ¬Άμ–΄μ„œ 이름 λΆ™μž„
2) μΊ‘μŠν™”: 데이터 은닉, κΈ°λŠ₯을 λ…ΈμΆœμ‹œν‚€μ§€ μ•ŠμŒ
3) 상속성: μƒμœ„ λΆ€λͺ¨ 객체의 속성과 νŠΉμ§•μ„ ν•˜μœ„ 객체가 λ¬Όλ € λ°›λŠ” 것
4) λ‹€ν˜•μ„±: 같은 ν•¨μˆ˜μ—¬λ„ λ§€κ°œλ³€μˆ˜μ— 따라 각자 λ‹€λ₯Έ 일을 ν•˜λŠ” 것

-μ½”λ“œ μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•˜μ—¬ ν™•μž₯, μœ μ§€λ³΄μˆ˜μ— μš©μ΄ν•˜κ³ , 뢄석이 쉽닀!

-처리 속도가 μƒλŒ€μ μœΌλ‘œ λŠλ¦¬λ‹€!

🧑 ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°

-순수 ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ 빨리 μ²˜λ¦¬ν•˜λŠ”λ°μ— μ΄ˆμ μ„ λ‘” 방법
(μ‹€ν–‰ μˆœμ„œλ₯Ό 지정할 ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ—, λΉ„μ ˆμ°¨ν˜• 언어라고도 ν•œλ‹€)

-λ™μΌν•œ μž…λ ₯값을 λ„£μ—ˆμ„ λ•Œ 항상 λ™μΌν•œ 리턴값을 λ°˜ν™˜ν•˜λ©° 외뢀에 영ν–₯을 받지 μ•ŠλŠ” ν•¨μˆ˜. λ”°λΌμ„œ μ™ΈλΆ€ λ°μ΄ν„°μ˜ μƒνƒœλ₯Ό μ‘°μž‘ν•  수 μ—†λ‹€!
=> λ©€ν‹°μ“°λ ˆλ”© ν™˜κ²½μ—μ„œλ„ μ•ˆμ •μ μœΌλ‘œ λ™μž‘ν•  수 있음.

🧑 차이점

절차 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ 뢀쑱함을 λ³΄μ™„ν•˜μ—¬, '객체' κ°œλ…μ„ λ„μž…ν•œ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄ νƒ„μƒν–ˆλ‹€.

profile
Major interest in iOS πŸ€ & 🍎

0개의 λŒ“κΈ€