l πŸ€– μ½”λ“œ l

[개발자 λ©΄μ ‘λŒ€λΉ„ μ§ˆλ¬Έμš”μ•½] μžλ°” κ°œλ…μ •λ¦¬/ μžλ°”λž€ 무엇인가

CODEGREAM 2020. 5. 26.
λ°˜μ‘ν˜•

μžλ°”λž€?

- 객체지ν–₯ μ–Έμ–΄ (OOP Object Oriented Programming)

- ν•˜λ‚˜μ˜ κΈ°λŠ₯을 객체둜 λ§Œλ“€μ–΄μ„œ 객체듀을 μ’…ν•©ν•˜μ—¬ ν”„λ‘œκ·Έλž˜λ°ν•œλ‹€.

 

 

 

객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° OOP의 4가지 νŠΉμ„±

********(μΊ‘μŠν™”, λ‹€ν˜•μ„±, 상속, 좔상화)

 

 

1. μΊ‘μŠν™”

- μ„œλ‘œ κ΄€λ ¨λœ Data, Methodλ₯Ό ν•˜λ‚˜λ‘œ λ¬ΆλŠ”κ²ƒ

 

 

2. λ‹€ν˜•μ„±

- ν˜•νƒœκ°€ λ‹€μ–‘ν•œ 것 (같은 λ™μž‘, λ‹€λ₯Έ κ²°κ³Όλ¬Ό)

- μ˜€λ²„λ‘œλ”©κ³Ό μ˜€λ²„λΌμ΄λ”©μ΄ 해당됨.

 

- μ˜€λ²„λ‘œλ”©?

같은 μ΄λ¦„μ˜ λ©”μ†Œλ“œλ₯Ό λ§€κ°œλ³€μˆ˜μ˜ νƒ€μž…κ³Ό 갯수만 λ‹€λ₯΄κ²Œ ν•˜μ—¬ λ‹€λ₯ΈκΈ°λŠ₯을 ν•˜κ²Œ ν•˜λŠ” 것

- μ˜€λ²„λΌμ΄λ”©

μƒμœ„ 클래슀의 λ©”μ†Œλ“œλ₯Ό 상속받아 μž¬μ •μ˜ ν•˜λŠ” 것

 

 

3. 상속

μƒμœ„ 클래슀 methodλ₯Ό μžμ‹ ν΄λž˜μŠ€κ°€ μƒμ†λ°›μ•„μ„œ μ‚¬μš©ν•˜λŠ” 것

 

 

4. 좔상화

ν•„μš”ν•œ 것은 보여주고 ν•„μš”μ—†λŠ” 것은 μˆ¨κΈ°λŠ” 것

 

 

μΆ”μƒν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€ 차이?

 

μΆ”μƒν΄λž˜μŠ€ :

- 단일상속

- ν•˜λ‚˜μ΄μƒμ˜ μΆ”μƒλ©”μ†Œλ“œ ν¬ν•¨ν•˜κ±°λ‚˜ abstract둜 μ •μ˜λœ 클래슀

- μΆ”μƒλ©”μ†Œλ“œλž€? 아직 κ΅¬ν˜„λ˜μ§€ μ•Šμ€ abstract둜 μ •μ˜λœ λ©”μ†Œλ“œ

 

μΈν„°νŽ˜μ΄μŠ€ :

- 닀쀑상속

- λͺ¨λ“  λ©”μ†Œλ“œκ°€ μΆ”μƒλ©”μ†Œλ“œμΈ 경우

ex) dao : κ΅¬ν˜„ν•  λ©”μ†Œλ“œλ§Œ μ •μ˜ 해두고 μ‹€μ œ κ΅¬ν˜„μ€ daoImplμ—μ„œ 함 

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€

πŸ’² μΆ”μ²œ κΈ€