Study

[객체지ν–₯의 사싀과 μ˜€ν•΄ - 1] ν˜‘λ ₯ν•˜λŠ” κ°μ²΄λ“€μ˜ 곡동체

youn12 2023. 1. 17. 18:46
πŸ“‹ λͺ©μ°¨.

1. ν˜‘λ ₯ν•˜λŠ” κ°μ²΄λ“€μ˜ 곡동체
    .ν˜‘λ ₯ν•˜λŠ” μ‚¬λžŒλ“€
    .μ—­ν• , μ±…μž„, ν˜‘λ ₯

    .ν˜‘λ ₯ 속에 μ‚¬λŠ” 객체
    .객체지ν–₯의 본질

βœ”οΈ λ‚΄μš©.

 

1. ν˜‘λ ₯ν•˜λŠ” κ°μ²΄λ“€μ˜ 곡동체

 

 

μ‹œλ„ˆμ§€λ₯Ό μƒκ°ν•˜λΌ, μ „μ²΄λŠ” λΆ€λΆ„μ˜ 합보닀 크닀.
- μŠ€ν‹°λΈ μ½”λΉ„

.ν˜‘λ ₯ν•˜λŠ” μ‚¬λžŒλ“€

 

- 객체지ν–₯의 λͺ©ν‘œλŠ” 싀세계λ₯Ό λͺ¨λ°©ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€. 였히렀 μƒˆλ‘œμš΄ 세계λ₯Ό μ°½μ‘°ν•˜λŠ” 것이닀.

 

- ν˜‘λ ₯μ—λŠ” νŠΉμ •ν•œ 역할을 맑고 역할에 μ ν•©ν•œ μ±…μž„μ„ μˆ˜ν–‰ν•œλ‹€

 

1. μ—¬λŸ¬ μ‚¬λžŒμ΄ λ™μΌν•œ 역할을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

2. 역할은 λŒ€μ²΄ κ°€λŠ₯성을 μ˜λ―Έν•œλ‹€.

3. μ±…μž„μ„ μˆ˜ν–‰ν•˜λŠ” 방법은 자율적으둜 선택할 수 μžˆλ‹€.

4. ν•œ μ‚¬λžŒμ΄ λ™μ‹œμ— μ—¬λŸ¬ 역할을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

 


 

.μ—­ν• , μ±…μž„, ν˜‘λ ₯

 

- 객체지ν–₯ μ„€κ³„λΌλŠ” μ˜ˆμˆ μ€ μ μ ˆν•œ κ°μ²΄μ—κ²Œ μ μ ˆν•œ μ±…μž„μ„ ν• λ‹Ήν•˜λŠ” κ²ƒμ—μ„œ μ‹œμž‘λœλ‹€.

 

μ±…μž„μ€ 객체지ν–₯ μ„€κ³„μ˜ ν’ˆμ§ˆμ„ κ²°μ •ν•˜λŠ” κ°€μž₯ μ€‘μš”ν•œ μš”μ†Œμ΄λ‹€. μ±…μž„μ΄ 뢈문λͺ…ν•œ κ°μ²΄λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 미래 μ—­μ‹œ 뢈문λͺ…ν•˜κ²Œ λ§Œλ“ λ‹€.

 


 

.ν˜‘λ ₯ 속에 μ‚¬λŠ” 객체

 

- κ°μ²΄λŠ” λ‹€λ₯Έ κ°μ²΄μ™€μ˜ ν˜‘λ ₯을 톡해 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κ²Œ λœλ‹€.

 

 ν˜‘λ ₯의 ν’ˆμ§ˆμ„ κ²°μ •ν•˜λŠ” 것은 객체의 ν’ˆμ§ˆμ΄λ‹€.

1. κ°μ²΄λŠ” μΆ©λΆ„νžˆ 'ν˜‘λ ₯적'이여야 ν•œλ‹€. μ™ΈλΆ€μ˜ 도움 없이 슀슀둜 λͺ¨λ“  것을 μ²˜λ¦¬ν•˜λŠ” 전지전λŠ₯ν•œ κ°μ²΄λŠ” 내뢀적인 λ³΅μž‘λ„μ— μ˜ν•΄ μžλ©Έν•˜κ³  λ§Œλ‹€.

2. κ°μ²΄λŠ” μΆ©λΆ„νžˆ '자율적'이여야 ν•œλ‹€. μ–΄λ–€ 사물이 μžμ‹ μ˜ 행동을 슀슀둜 κ²°μ •ν•˜κ³  μ±…μž„μ§„λ‹€λ©΄ κ·Έ 사물은 자율적인 쑴재라 ν•œλ‹€. λ‹€λ₯Έ 객체의 λͺ…령에 λ³΅μ’…ν•˜μ§€ μ•ŠμœΌλ©° μˆ˜λ™μ μΈ 쑴재λ₯Ό μ˜λ―Έν•˜λŠ” 것이 μ•„λ‹ˆλ‹€.

 

- ν”νžˆ 객체λ₯Ό μƒνƒœ(state)와 행동(behavior)을 ν•¨κ»˜ μ§€λ‹Œ 싀체라고 μ •μ˜ν•œλ‹€.

 

객체가 ν˜‘λ ₯에 μ°Έμ—¬ν•˜κΈ° μœ„ν•΄ 행동을 ν•œλ‹€λ©΄ κ·Έ 행동을 ν•˜λŠ”λ° ν•„μš”ν•œ μƒνƒœλ„ ν•¨κ»˜ μ§€λ‹ˆκ³  μžˆμ–΄μ•Ό ν•œλ‹€.


 

.객체지ν–₯의 본질

 

- κ·Έλž˜μ„œ 객체지ν–₯μ΄λž€?

 

1. 객체지ν–₯μ΄λž€ μ‹œμŠ€ν…œμ„ μƒν˜Έμž‘μš©ν•˜λŠ” μžμœ¨μ μΈ κ°μ²΄λ“€μ˜ κ³΅λ™μ²΄λ‘œ 바라보고 객체λ₯Ό μ΄μš©ν•΄ μ‹œμŠ€ν…œμ„ λΆ„ν• ν•˜λŠ” 방법이닀.

2. 자율적인 κ°μ²΄λž€ μƒνƒœμ™€ ν–‰μœ„λ₯Ό ν•¨κ»˜ μ§€λ‹ˆλ©° 슀슀둜 자기 μžμ‹ μ„ μ±…μž„μ§€λŠ” 객체λ₯Ό μ˜λ―Έν•œλ‹€.

3. κ°μ²΄λŠ” μ‹œμŠ€ν…œμ˜ ν–‰μœ„λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ λ‹€λ₯Έ 객체와 ν˜‘λ ₯ν•œλ‹€. 각 κ°μ²΄λŠ” ν˜‘λ ₯ λ‚΄μ—μ„œ 정해진 역할을 μˆ˜ν–‰ν•˜λ©° μ—­ν• μ€ κ΄€λ ¨λœ μ±…μž„μ˜ 집합이닀.

4. κ°μ²΄λŠ” λ‹€λ₯Έ 객체와 ν˜‘λ ₯ν•˜κΈ° μœ„ν•΄ λ©”μ‹œμ§€λ₯Ό μ „μ†‘ν•˜κ³ , λ©”μ‹œμ§€λ₯Ό μˆ˜μ‹ ν•œ κ°μ²΄λŠ” λ©”μ‹œμ§€λ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 μ ν•©ν•œ λ©”μ„œλ“œλ₯Ό μžμœ¨μ μœΌλ‘œ μ„ νƒν•œλ‹€. 

 

객체지ν–₯은 객체λ₯Ό 지ν–₯ν•˜λŠ” 것이지 클래슀λ₯Ό 지ν–₯ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€.

 ν•΅μ‹¬μ€ ν΄λž˜μŠ€κ°€ μ•„λ‹ˆλΌ μ μ ˆν•œ μ±…μž„μ„ μˆ˜ν–‰ν•˜λŠ” μ—­ν•  κ°„μ˜ μœ μ—°ν•˜κ³  κ²¬κ³ ν•œ ν˜‘λ ₯관계λ₯Ό κ΅¬μΆ•ν•˜λŠ” 것이닀.
ν΄λž˜μŠ€λŠ” ν˜‘λ ₯에 μ°Έμ—¬ν•˜λŠ” 객체λ₯Ό λ§Œλ“œλŠ” 데 ν•„μš”ν•œ κ΅¬ν˜„ λ©”μ»€λ‹ˆμ¦˜λΏμ΄λ‹€. ν΄λž˜μŠ€κ°€ μ€‘μš”ν•˜μ§€ μ•Šλ‹€λŠ” 것이 μ•„λ‹ˆλΌ. ν˜‘λ ₯ ꡬ쑰와 μ±…μž„μ„ μ‹λ³„ν•˜λŠ” 것에 λΉ„ν•΄ 덜 μ€‘μš”ν•˜λ‹€λŠ” 것이닀.

 ν΄λž˜μŠ€μ˜ ꡬ쑰와 λ©”μ„œλ“œκ°€ μ•„λ‹ˆλΌ 객체의 μ—­ν• ,μ±…μž„,ν˜‘λ ₯에 μ§‘μ€‘ν•˜λΌ. λ‹€μ‹œ λ§ν•˜μ§€λ§Œ 객체지ν–₯은 객체λ₯Ό 지ν–₯ν•˜λŠ” 것이지 클래슀λ₯Ό 지ν–₯ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€.

 


πŸ“ λŠλ‚€μ .

.객체지ν–₯μ΄λž€ 객체λ₯Ό 지ν–₯ν•˜λŠ” 것이지 클래슀λ₯Ό 지ν–₯ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€.
.클레슀의 ꡬ쑰, λ©”μ„œλ“œμ— μ§‘μ€‘ν•˜κΈ°λ³΄λ‹€ 객체 λ³Έμ§ˆμ— λ”μš± 집쀑해 μ„€κ³„λ₯Ό ν•΄μ•Ό 쒋은 섀계가 λ‚˜μ˜¬ 것 κ°™λ‹€.