λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
λ„μ„œ πŸ“š/πŸ“— 객체지ν–₯의 사싀과 μ˜€ν•΄

3μž₯: νƒ€μž…κ³Ό 좔상화

by dev_writer 2023. 11. 2.

μ„œλ¬Έ

μ‹œκ°„μ΄ μ§€λ‚˜λ„ μ‚¬λžŒλ“€μ΄ μ§€ν•˜μ² μ„ λ¬Έμ œμ—†μ΄ 닀닐 수 μžˆλŠ” μ΄μœ λŠ” 직관적인 μ§€ν•˜μ²  노선도가 있기 λ•Œλ¬Έμ΄λ‹€.

 

해리 벑 (Harry Beck)은 μ§€ν•˜μ² μ„ μ΄μš©ν•˜λŠ” 승객의 λͺ©μ μ„ μ •ν™•νžˆ νŒŒμ•…ν–ˆλ‹€. (ν•˜λ‚˜μ˜ μ—­μ—μ„œ λ‹€λ₯Έ μ—­μœΌλ‘œ μ΄λ™ν•˜λŠ” 것)

 

해리 벑의 κ°€μž₯ μœ„λŒ€ν•œ 업적은 μ§€ν•˜μ²  노선을 μΆ”μƒν™”ν•œ 것이닀.


좔상화λ₯Ό ν†΅ν•œ λ³΅μž‘μ„± 극볡

ν˜„μ‹€μ— μžˆλŠ” 것듀과 μƒν˜Έμž‘μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν˜„μ‹€μ„ λ¨Όμ € 이해해야 ν•˜μ§€λ§Œ, ν˜„μ‹€μ€ λ³΅μž‘ν•œ κ²ƒνˆ¬μ„±μ΄λ‹€.

 

λ”°λΌμ„œ 인간은 λ³ΈλŠ₯적으둜 ν˜„μ‹€μ„ λΆ„ν•΄ν•˜κ³  λ‹¨μˆœν™”ν•˜λŠ” μ „λž΅μ„ λ”°λ₯Έλ‹€. 해리 벑의 μ§€ν•˜μ²  λ…Έμ„ λ„μ²˜λŸΌ μ§„μ •ν•œ μ˜λ―Έμ—μ„œμ˜ μΆ”μƒν™”λŠ” ν˜„μ‹€μ—μ„œ μΆœλ°œν•˜λ˜, λΆˆν•„μš”ν•œ 뢀뢄을 λ„λ €κ°€λ©΄μ„œ μ‚¬λ¬Όμ˜ λ†€λΌμš΄ λ³Έμ§ˆμ„ λ“œλŸ¬λ‚˜κ²Œ ν•˜λŠ” 과정이닀.

 

λ˜ν•œ, λͺ©μ μ— λΆ€ν•©ν•˜μ—¬μ•Ό ν•œλ‹€.

ν˜„μƒμ€ λ³΅μž‘ν•˜λ‹€. 법칙은 λ‹¨μˆœν•˜λ‹€. 버릴 게 무엇인지 μ•Œμ•„λ‚΄λΌ. - λ¦¬μ²˜λ“œ 파인만 (Richard Phillips Feynman)

 

μΆ”μƒν™”μ˜ μ „λž΅μ€ λ‹€μŒκ³Ό κ°™λ‹€.

- ꡬ체적인 사물듀 κ°„μ˜ 곡톡점은 μ·¨ν•˜κ³  차이점은 λ²„λ¦¬λŠ” μΌλ°˜ν™”λ₯Ό 톡해 λ‹¨μˆœν•˜κ²Œ ν•œλ‹€.
- μ€‘μš”ν•œ 뢀뢄을 κ°•μ‘°ν•˜κΈ° μœ„ν•΄ λΆˆν•„μš”ν•œ μ„ΈλΆ€ 사항을 μ œκ±°ν•¨μœΌλ‘œμ¨ λ‹¨μˆœν•˜κ²Œ ν•œλ‹€.

 

객체지ν–₯ νŒ¨λŸ¬λ‹€μž„μ€ κ°μ²΄λΌλŠ” 좔상화λ₯Ό 톡해 ν˜„μ‹€μ˜ λ³΅μž‘μ„±μ„ κ·Ήλ³΅ν•œλ‹€.


객체지ν–₯κ³Ό 좔상화

μ΄μƒν•œ λ‚˜λΌμ˜ μ•¨λ¦¬μŠ€λ₯Ό μ˜ˆμ‹œλ‘œ 보면 좔상화λ₯Ό μ μš©ν•œ 것 (기껏해야 νŠΈλŸΌν”„μ— λΆˆκ³Όν•΄)을 λ³Ό 수 μžˆλ‹€.

 

μ•¨λ¦¬μŠ€λŠ” 정원사듀, 병사듀, μ™•μž, 곡주, ν•˜κ° μ™•, ν•˜κ° μ™•λΉ„, ν•˜νŠΈ μ™•, ν•˜νŠΈ μ™•λΉ„λ₯Ό λͺ¨λ‘ νŠΈλŸΌν”„ μΉ΄λ“œλ‘œ μΆ”μƒν™”ν•˜μ˜€λ‹€. κ³΅ν†΅μ λ§Œμ„ μ·¨ν•œ 것이닀.

 

νŠΈλŸΌν”„ μΉ΄λ“œλ‘œ μΆ”μƒν™”ν•œ 것은 곧 그룹을 λ‚˜λˆˆ 것과 κ°™λ‹€. μ•¨λ¦¬μŠ€λŠ” νŠΈλŸΌν”„ μΉ΄λ“œμΈ 것 / 토끼인 κ²ƒμœΌλ‘œ 그룹을 λ‚˜λˆ΄λ‹€. μ΄λ ‡κ²Œ κ·Έλ£Ήν™”ν•œ 것은 ν˜„μ‹€ (정원)에 λ‚΄μž¬λœ λ³΅μž‘μ„±μ„ 효과적으둜 κ°μ†Œμ‹œν‚¨λ‹€. 그룹은 곡톡점을 κ°•μ‘°ν•¨μœΌλ‘œμ¨ λ‚˜μ˜¬ 수 μžˆλŠ” 것이닀.

 

객체지ν–₯μ—μ„œλŠ” μ΄λ ‡κ²Œ 곡톡점을 기반으둜 객체듀을 λ¬ΆκΈ° μœ„ν•œ 그릇을 κ°œλ… (concept)이라고 ν•œλ‹€. > κ°œλ…μ€ μΆ”μƒν™”μ˜ 첫 번째 μ „λž΅μ„ μ‚¬μš©ν•œ 것과 κ°™λ‹€. 또, μš°λ¦¬λŠ” 곡톡점 쀑 μ€‘μš”ν•˜λ‹€κ³  μƒκ°λ˜λŠ” κ²ƒλ§Œ μƒκ°ν•˜μ˜€λ‹€. 이것은 μΆ”μƒν™”μ˜ 두 번째 μ „λž΅μ„ μ‚¬μš©ν•œ 것과 κ°™λ‹€.

 

즉, κ°œλ…κ³Ό 그룹의 μ°¨μ΄λŠ” 곡톡점을 기반으둜 객체λ₯Ό λΆ„λ₯˜ν•  수 μžˆλŠ” 체와 같은 역할을 ν•˜λŠ” 것이며, 그룹은 κ°œλ…μ— λ§žλŠ” 객체듀이 λͺ¨μ—¬ μžˆλŠ” κ³΅κ°„μ΄λΌλŠ” 것이닀.

 

객체가 μ ν•©ν•œ κ°œλ… 그룹에 듀어갔을 λ•Œ κ·Έ 객체λ₯Ό κ°œλ…μ˜ μΈμŠ€ν„΄μŠ€ (instance)라고 ν•œλ‹€.

 

κ·Έλ ‡λ‹€λ©΄ κ°œλ…μ€ μ–΄λ–€ 정보듀이 λ‹΄κ²¨μžˆμ„κΉŒ? κ°œλ…μ˜ μ„Έ 가지 관점은 λ‹€μŒκ³Ό κ°™λ‹€.

- μ‹¬λ²Œ (symbol): κ°œλ…μ„ κ°€λ¦¬ν‚€λŠ” κ°„λž΅ν•œ 이름 λ˜λŠ” λͺ…μΉ­ > νŠΈλŸΌν”„ μΉ΄λ“œ
- λ‚΄μ—° (intension): κ°œλ…μ˜ μ™„μ „ν•œ μ •μ˜λ₯Ό λ‚˜νƒ€λ‚΄λ©°, λ‚΄μ—°μ˜ 의미λ₯Ό μ΄μš©ν•΄ 객체가 κ°œλ…μ— μ†ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό 확인할 수 μžˆλ‹€. > νŠΈλŸΌν”„λŠ” λͺΈμ΄ λ‚©μž‘ν•˜κ³  두 손과 두 발이 λ„€λͺ¨λ‚œ λͺΈ λͺ¨μ„œλ¦¬μ— 달렀 μžˆλ‹€.
- μ™Έμ—° (extension): κ°œλ…μ— μ†ν•˜λŠ” λͺ¨λ“  객체의 집합 > 정원사, 병사, μ‹ ν•˜ 등등은 νŠΈλŸΌν”„ μΉ΄λ“œμ— μ†ν•œλ‹€.
  - κ°œλ…μ΄ μ΄λ ‡κ²Œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€λŠ” μ‚¬μ‹€λ³΄λ‹€λŠ” κ°œλ…μ„ μ΄μš©ν•΄ 객체λ₯Ό λΆ„λ₯˜ (classification)ν•  수 μžˆλ‹€λŠ” 것이 더 μ€‘μš”ν•˜λ‹€. 이것은 객체지ν–₯ νŒ¨λŸ¬λ‹€μž„μ΄ λ³΅μž‘μ„±μ„ κ·Ήλ³΅ν•˜λŠ” 기본적인 μˆ˜λ‹¨μ΄κΈ° λ•Œλ¬Έμ΄λ‹€. 클래슀 (class)와 λΆ„λ₯˜μ˜ μ² μžκ°€ 곡톡적이닀!


λΆ„λ₯˜λŠ” νŠΉμ •ν•œ 객체λ₯Ό νŠΉμ •ν•œ κ°œλ…μ˜ 객체 집합에 ν¬ν•¨μ‹œν‚€κ±°λ‚˜ ν¬ν•¨μ‹œν‚€μ§€ μ•ŠλŠ” μž‘μ—…μ„ μ˜λ―Έν•œλ‹€.

 

μ–΄λ–€ 객체λ₯Ό μ–΄λ–€ κ°œλ…μœΌλ‘œ λΆ„λ₯˜ν• μ§€κ°€ 객체지ν–₯의 ν’ˆμ§ˆμ„ κ²°μ •ν•œλ‹€. λ˜ν•œ μ μ ˆν•œ λΆ„λ₯˜ μ²΄κ³„λŠ” κ°œλ°œμžμ—κ²Œ 정신적인 지도λ₯Ό μ œκ³΅ν•œλ‹€.


νƒ€μž…

κ³΅ν•™μžλ“€μ€ κ°œλ…μ„ 더 μ„Έλ ¨λ˜ 보이도둝 νƒ€μž… (type)μ΄λΌλŠ” 것을 μ •μ˜ν•˜μ˜€λ‹€.

λ©”λͺ¨λ¦¬ μ„Έμƒμ—μ„œλŠ” νƒ€μž…이 μ •ν•΄μ§€μ§€ μ•ŠλŠ”λ‹€. νƒ€μž…이 μ—†λ‹€λŠ” κ²ƒμ€ λ©”λͺ¨λ¦¬ μ•ˆμ˜ λ°μ΄ν„°λ₯Ό λ‹€λ£° μˆ˜ μžˆλŠ” λ‹¨ ν•˜λ‚˜μ˜ νƒ€μž… (λΉ„νŠΈμ—΄)만이 μ‘΄μž¬ν•œλ‹€λŠ” κ²ƒμ„ μ˜λ―Έν•œλ‹€.

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ΄λ ‡κ²Œ νƒ€μž…이 μ •ν•΄μ§€μ§€ μ•Šμ€ λ°μ΄ν„°λ₯Ό λ‹€λ£° λ•Œλ©΄, μ΄ κ°’이 μˆ«μžμΈμ§€, λ¬ΈμžμΈμ§€, λ©”λͺ¨λ¦¬ μƒμ˜ μ£Όμ†ŒμΈμ§€ ν˜Όλž€μŠ€λŸ¬μš΄ λ•Œκ°€ λ§Žμ•„μ§€κ²Œ λœλ‹€. λ”°λΌμ„œ κ°œλ°œμžλ“€μ€ λ©”λͺ¨λ¦¬ μ•ˆμ˜ λ°μ΄ν„°μ— νŠΉμ •ν•œ μ˜λ―Έλ₯Ό λΆ€μ—¬ν•¨μœΌλ‘œμ¨ μ΄ ν˜Όλž€μ„ μ€„μ—¬λ‚˜κ°€κΈ° μ‹œμž‘ν–ˆλ‹€. μˆ«μžν˜•, λ¬Έμžμ—΄ν˜•, λ…Όλ¦¬ν˜• λ“±λ“± λ§μ΄λ‹€.

이λ₯Ό ν†΅ν•΄ νƒ€μž… μ‹œμŠ€ν…œμ˜ λͺ©μ μ€ λ©”λͺ¨λ¦¬ μ•ˆμ˜ λͺ¨λ“  λ°μ΄ν„°κ°€ λΉ„νŠΈμ—΄λ‘œ λ³΄μž„μœΌλ‘œμ¨ μ•ΌκΈ°λ˜λŠ” ν˜Όλž€μ„ λ°©μ§€ν•˜λŠ” κ²ƒμž„을 μ•Œ μˆ˜ μžˆλ‹€.

λ˜ν•œ νƒ€μž…μ˜ νŠΉμ§•μ€ λ‹€μŒκ³Ό κ°™λ‹€.

- νƒ€μž…μ€ 데이터가 μ–΄λ–»κ²Œ μ‚¬μš©λ˜λŠλƒμ— κ΄€ν•œ 것이닀. 의미λ₯Ό λΆ€μ—¬ν•œ μ΄μœ λŠ” κ·Έ μ˜λ„μ— 맞게 μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.
- νƒ€μž…μ— μ†ν•œ 데이터λ₯Ό λ©”λͺ¨λ¦¬μ— μ–΄λ–»κ²Œ ν‘œν˜„ν•˜λŠ”μ§€λŠ” μ™ΈλΆ€λ‘œλΆ€ν„° 감좰진닀. κ°œλ°œμžλŠ” κ²‰μœΌλ‘œ λ“œλŸ¬λ‚˜λŠ” νŠΉμ§•λ§Œ 가지고 μ‚¬μš©ν•΄λ„ μΆ©λΆ„ν•˜λ©°, μ˜ˆμ‹œλ‘œ λ¬Έμžμ—΄ν˜• 데이터가 λ©”λͺ¨λ¦¬ μ•ˆμ—μ„œλŠ” μ–΄λ–»κ²Œ ν‘œν˜„λ˜λŠ”μ§€ 같은 것은 μ•Œ ν•„μš”κ°€ μ—†λ‹€.


μ‹€μ œ κ°μ²΄μ§€ν–₯μ—μ„œμ˜ νƒ€μž…도 μ „톡적인 λ°μ΄ν„° νƒ€μž…κ³Ό μ—°κ΄€μ„±μ΄ μžˆλ‹€. μš°λ¦¬λŠ” κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•  λ•Œ κ°μ²΄λ₯Ό μΌμ’…μ˜ λ°μ΄ν„°μ²˜λŸΌ μ‚¬μš©ν•œλ‹€. κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©λ˜λŠ” λͺ¨λ“  κ°μ²΄μ˜ μƒνƒœλ₯Ό λͺ¨μœΌλ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ κ΄€λ¦¬ν•΄μ•Ό ν•˜λŠ” μ „체 λ°μ΄ν„°λ₯Ό ν‘œν˜„ν•  μˆ˜ μžˆλ‹€.

κ·ΈλŸ¬λ‚˜ κ°μ²΄κ°€ μ‹€μ œ λ°μ΄ν„°λŠ” μ•„λ‹ˆλ‹€. κ°μ²΄μ§€ν–₯μ—μ„œ μ€‘μš”ν•œ κ²ƒμ€ μƒνƒœκ°€ μ•„λ‹ˆλΌ κ°μ²΄μ˜ ν–‰λ™μ΄κΈ° λ•Œλ¬Έμ΄λ‹€. μƒνƒœλŠ” λ‹¨μˆœνžˆ ν–‰λ™μ˜ λΆ€μˆ˜ νš¨κ³Όλ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•΄ μ‘΄μž¬ν•˜λŠ” λΆ€μ‚°λ¬ΌμΌ λΏμ΄λ‹€.

μœ„μ—μ„œ μ–ΈκΈ‰ν•œ νƒ€μž…μ˜ νŠΉμ§•μ€ κ³§ κ°μ²΄μ˜ νŠΉμ§•κ³Ό κ°™λ‹€.

- 객체가 μ–΄λ–€ 행동을 ν•˜λŠλƒμ— 따라 객체의 νƒ€μž…μ΄ κ²°μ •λœλ‹€. > μƒνƒœλŠ” μ€‘μš”ν•˜μ§€ μ•Šλ‹€. μ€‘μš”ν•œ 것은 객체의 “행동”이닀.
  - 객체가 μ„œλ‘œ λ‹€λ₯Έ μƒνƒœλ₯Ό 가지고 μžˆλ‹€κ³  ν•˜λ”λΌλ„ λ™μΌν•œ 행동을 ν•œλ‹€λ©΄ 두 κ°μ²΄λŠ” 같은 νƒ€μž…μ΄λ‹€. λ°˜λŒ€λ‘œ 객체가 μ„œλ‘œ 같은 μƒνƒœλ₯Ό 가지고 μžˆλ‹€κ³  ν•˜λ”λΌλ„ λ‹€λ₯Έ 행동을 ν•œλ‹€λ©΄ 두 κ°μ²΄λŠ” λ‹€λ₯Έ νƒ€μž…μ΄λ‹€.
- 객체의 내뢀적인 ν‘œν˜„μ€ μ™ΈλΆ€λ‘œλΆ€ν„° 감좰진닀. > μ΄λŠ” 객체의 μΊ‘μŠν™”λ₯Ό μ˜λ―Έν•œλ‹€.


첫 번째 νŠΉμ§•μœΌλ‘œλΆ€ν„° 객체지ν–₯의 μ€‘μš”ν•œ κ°œλ…μΈ λ‹€ν˜•μ„±μ΄ μ„€λͺ…λœλ‹€. 이전 μž₯인 2μž₯: μ΄μƒν•œ λ‚˜λΌμ˜ κ°μ²΄μ—μ„œ 보면, 행동을 μˆ˜ν–‰ν•  μ μ ˆν•œ 객체λ₯Ό μ„ νƒν•˜λΌ. κ³  λ˜μ–΄ μžˆλ‹€. 행동은 곧 객체의 μ±…μž„μ„ μ˜λ―Έν•œλ‹€. λ”°λΌμ„œ λ™μΌν•œ 행동은 λ™μΌν•œ μ±…μž„μ„ μ˜λ―Έν•˜λ©°, λ™μΌν•œ μ±…μž„μ€ λ™μΌν•œ λ©”μ‹œμ§€ μˆ˜μ‹ μ„ μ˜λ―Έν•œλ‹€. 같은 λ©”μ‹œμ§€λ₯Ό μˆ˜μ‹ ν•˜λ”λΌλ„ 각기 λ‹€λ₯Έ λ°©λ²•μœΌλ‘œ 응닡할 수 μžˆλŠ” 것을 λ‹€ν˜•μ„±μ΄λΌκ³  ν•œλ‹€.

첫 번째 νŠΉμ§•μ„ μ •ν™•νžˆ μ€€μˆ˜ν•˜κΈ° μœ„ν•΄μ„œλŠ” 객체가 외뢀에 μ œκ³΅ν•˜λŠ” μ±…μž„μ„ λ¨Όμ € κ²°μ •ν•΄μ•Ό ν•œλ‹€. κ·Έλž˜μ•Όλ§Œ 행동에 따라 객체λ₯Ό λΆ„λ₯˜ν•  수 μžˆλ‹€. μ΄μ•ΌκΈ°ν–ˆλ“―μ΄ 행동은 곧 객체의 μ±…μž„μ„ λœ»ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. μ΄λŠ” μ €λ²ˆμ—λ„ μž‘μ„±ν–ˆλ˜ μ±…μž„ 주도 섀계λ₯Ό μ˜λ―Έν•œλ‹€.

인간과 νŠΈλŸΌν”„ μΉ΄λ“œλ“€μ„ λΆ„λ₯˜ν•΄ λ³Έλ‹€κ³  ν•˜μž. λ°μ΄ν„°λ₯Ό μ€‘μ‹¬μœΌλ‘œ λΆ„λ₯˜ν•΄λ³΄λ €κ³  ν•œλ‹€λ©΄, μΈκ°„κ³Ό νŠΈλŸΌν”„ μΉ΄λ“œ λͺ¨λ‘ νŒ”닀리가 μžˆκΈ°μ— λΆ„λ₯˜ν•˜κΈ° μ• λ§€ν•˜λ‹€. κ·ΈλŸ¬λ‚˜ ν–‰λ™μ„ μ€‘μ‹¬μœΌλ‘œ λΆ„λ₯˜ν•΄λ³΄λ©΄, μ‚¬λžŒμ€ λ˜‘λ°”λ‘œ νŒ” λ‹€λ¦¬λ₯Ό ν†΅μ œν•  μˆ˜ μžˆλŠ” λ°˜λ©΄ νŠΈλŸΌν”„ μΉ΄λ“œλ“€μ€ μ’…이기 λ•Œλ¬Έμ— νŒ” λ‹€λ¦¬κ°€ νŽ„λŸ­κ±°λ¦°λ‹€.


νƒ€μž…μ˜ 계측

μ΄μƒν•œ λ‚˜λΌμ˜ μ•¨λ¦¬μŠ€μ—μ„œμ˜ νŠΈλŸΌν”„ μΊλ¦­ν„°λ“€μ€ μ—„λ°€νžˆ λ”°μ Έλ΄€μ„ λ•Œ μ‹€μ œ νŠΈλŸΌν”„κ°€ μ•„λ‹ˆλ‹€. μ‹€μ œ νŠΈλŸΌν”„와 λΉ„μŠ·ν•œ ν–‰λ™μ„ ν•  μˆ˜ μžˆμ§€λ§Œ, μΈκ°„μ²˜λŸΌ κ±Έμ–΄ 닀닐 μˆ˜ μžˆλ‹€. κ·ΈλŸΌμ—λ„ νŠΈλŸΌν”„ μΊλ¦­ν„°λ‘œ λΆ„λ₯˜ν–ˆλ˜ μ΄μœ λŠ” νŠΈλŸΌν”„κ°€ κ°€μ§€κ³  μžˆλ˜ ν–‰λ™μ„ κ°€μ§€κ³  μžˆκΈ° λ•Œλ¬Έμ΄λ‹€.

이λ₯Ό 더 μ„ΈλΆ€μ μœΌλ‘œ ν‘œν˜„ν•˜λ©΄ νŠΈλŸΌν”„λΌλŠ” μ™Έμ—° μ•ˆμ— νŠΈλŸΌν”„ μΈκ°„μ΄λΌλŠ” 외연이 λΆ€λΆ„ μ§‘ν•©μœΌλ‘œ μžˆλŠ” 것이닀. νŠΈλŸΌν”„ 인간은 νŠΈλŸΌν”„μ˜ νŠΉμ§•μ„ 가진 μ±„λ‘œ 더 νŠΉλ³„ν•œ 행동듀을 가진닀. μ΄λ ‡κ²Œ νŠΈλŸΌν”„ μΉ΄λ“œ - νŠΈλŸΌν”„ μΈκ°„μ˜ 관계와 같은 것을 μΌλ°˜ν™”/νŠΉμˆ˜ν™” 관계 (generalization/specialization)라고 ν•œλ‹€.

계속 행동을 μ΄μ•ΌκΈ°ν•˜λŠ” κ²ƒμœΌλ‘œλΆ€ν„° μš°λ¦¬λŠ” μΌλ°˜ν™”/νŠΉμˆ˜ν™” 관계가 행동을 κΈ°μ€€μœΌλ‘œ κ΅¬λΆ„λœλ‹€λŠ” 것을 μœ μΆ”ν•  수 μžˆλ‹€.

ν–‰λ™μ˜ κ°€μ§“μˆ˜μ™€ μ™Έμ—°μ˜ ν¬κΈ°λŠ” μ„œλ‘œ λ°˜λΉ„λ‘€ν•œλ‹€. μΌλ°˜ν™”μ˜ 외연은 νŠΉμˆ˜ν™”μ— λΉ„ν•΄ 더 ν¬μ§€λ§Œ, λͺ…μ‹œλœ ν–‰λ™μ˜ κ°€μ§“μˆ˜λŠ” νŠΉμˆ˜ν™”κ°€ 더 많이 있기 λ§ˆλ ¨μ΄λ‹€. μΌλ°˜ν™”λŠ” 말 κ·ΈλŒ€λ‘œ λͺ¨λ“  객체가 일반적으둜 μˆ˜ν–‰ν•  수 μžˆλŠ” ν–‰λ™λ“€λ§Œμ„ 가지고, νŠΉμˆ˜ν™”λŠ” μΌλ°˜ν™”μ˜ νŠΉμ„±μ— 더해 νŠΉλ³„ν•œ 행동듀을 더 ν•  수 있기 λ•Œλ¬Έμ΄λ‹€.

μΌλ°˜ν™”λ₯Ό 보톡 μŠˆνΌνƒ€μž…μ΄λΌκ³  ν•˜κ³ , νŠΉμˆ˜ν™”λ₯Ό μ„œλΈŒνƒ€μž…μ΄λΌ ν•œλ‹€.

λ‹€μ‹œ λŒμ•„κ°€μ„œ “기껏해야 νŠΈλŸΌν”„에 λΆˆκ³Όν•΄”라고 ν–ˆλ˜ μ•¨λ¦¬μŠ€μ˜ λ§μ„ λ‹€μ‹œ λ“€μ—¬λ‹€λ³΄μž.

 

  • μ•¨λ¦¬μŠ€λŠ” λ“±μž₯μΈλ¬Όλ“€μ˜ 차이점은 λ°°μ œν•˜κ³  κ³΅ν†΅μ λ§Œμ„ κ°•μ‘°ν–ˆλ‹€.
  • νŠΈλŸΌν”„ 인간을 더 λ‹¨μˆœν•˜κ²Œ 바라보기 μœ„ν•΄ νŠΉμˆ˜ν•œ 행동을 λ°°μ œν•˜κ³  더 포괄적인 νŠΈλŸΌν”„λ‘œ λΆ„λ₯˜ν–ˆλ‹€.

μ΄λ ‡κ²Œ 객체지ν–₯μ—μ„œλŠ” 주둜 λΆ„λ₯˜μ™€ μΌλ°˜ν™”/νŠΉμˆ˜ν™” 관계λ₯Ό λ™μ‹œμ— μ‚¬μš©ν•˜λŠ” κ²½μš°κ°€ λ§Žλ‹€.


정적 λͺ¨λΈ

객체지ν–₯μ—μ„œ νƒ€μž…μ„ μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” μ‹œκ°„μ— 따라 λ™μ μœΌλ‘œ λ³€ν•˜λŠ” 객체의 λ³΅μž‘μ„±μ„ κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄μ„œλ‹€.

 

μ•¨λ¦¬μŠ€μ˜ ν‚€κ°€ μ‹œμ‹œκ°κ°μœΌλ‘œ λ³€ν•˜λ”λΌλ„ μ•¨λ¦¬μŠ€λŠ” κ²°κ΅­ μ•¨λ¦¬μŠ€μΌλΏμ΄λ‹€. μ΄λŠ” λ™μ μœΌλ‘œ λ³€ν•˜λŠ” μ•¨λ¦¬μŠ€μ˜ μƒνƒœλ₯Ό μ‹œκ°„κ³Ό λ¬΄κ΄€ν•œ 정적인 λͺ¨μŠ΅μœΌλ‘œ λ‹€λ£° 수 있게 ν•΄ μ€€λ‹€.

 

이런 κ΄€μ μ—μ„œ νƒ€μž…μ€ κ²°κ΅­ 좔상화닀. λΆˆν•„μš”ν•œ μš”μ†Œλ₯Ό μ œκ±°ν•˜κ³  정적인 κ΄€μ μ—μ„œλ§Œ 생각할 수 μžˆλ„λ‘ ν•΄ μ£ΌκΈ° λ•Œλ¬Έμ΄λ‹€.

 

이것을 톡해 동적 λͺ¨λΈκ³Ό 정적 λͺ¨λΈμ˜ 의미λ₯Ό μ΄λŒμ–΄λ‚Ό 수 μžˆλ‹€.

- 동적 λͺ¨λΈμ΄λž€ μ‹œκ°„μ— 따라 λ³€ν•˜λŠ” 객체λ₯Ό ν¬μ°©ν•œ λͺ¨λΈμ„ λœ»ν•œλ‹€. 객체가 νŠΉμ • μ‹œμ μ— ꡬ체적으둜 μ–΄λ–€ μƒνƒœλ₯Ό κ°€μ§€λŠ”μ§€ ν‘œν˜„ν•œλ‹€. μ΄λŠ” λŸ°νƒ€μž„ μ‹œ 객체의 μƒνƒœ 변경을 μΆ”μ ν•˜κ³  λ””λ²„κΉ…ν•˜λŠ” κ²ƒμœΌλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.
- 정적 λͺ¨λΈμ€ 객체가 κ°€μ§ˆ 수 μžˆλŠ” λͺ¨λ“  μƒνƒœμ™€ λͺ¨λ“  행동을 μ‹œκ°„μ— λ…λ¦½μ μœΌλ‘œ ν‘œν˜„ν•œ λͺ¨λΈμ„ λœ»ν•œλ‹€. μ΄λŠ” 클래슀λ₯Ό μž‘μ„±ν•˜λŠ” κ²ƒμœΌλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.

 

단, νƒ€μž…κ³Ό ν΄λž˜μŠ€λŠ” μ—„λ°€νžˆ 말해 μ„œλ‘œ λ‹€λ₯Έ λœ»μ΄λ‹€. νƒ€μž…μ€ 객체λ₯Ό λΆ„λ₯˜ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λ©°, ν΄λž˜μŠ€λŠ” 단지 ν”„λ‘œκ·Έλž˜λ°μ—μ„œ νƒ€μž…μ„ κ΅¬ν˜„ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” λ©”μ»€λ‹ˆμ¦˜ 쀑 ν•˜λ‚˜μΌ 뿐이닀.


μš”μ•½

  • μΆ”μƒν™”μ˜ μ „λž΅μ€ 첫 번째둜 곡톡점은 μ·¨ν•˜κ³  차이점은 λ²„λ¦¬λŠ” 것이며, 두 λ²ˆμ§ΈλŠ” λΆˆν•„μš”ν•œ μ„ΈλΆ€ 사항을 μ œκ±°ν•˜λŠ” 것이닀.
  • κ°œλ…μ€ 곡톡점을 기반으둜 객체λ₯Ό λ‚˜λˆ„κΈ° μœ„ν•œ 체와 κ°™λ‹€.
  • 객체λ₯Ό λ‚˜λˆ„κΈ° μœ„ν•œ 기쀀은 객체의 행동이닀. λ˜ν•œ 행동은 곧 μ±…μž„μ„ μ˜λ―Έν•œλ‹€. λ”°λΌμ„œ μ±…μž„ 주도 섀계가 μ€‘μš”ν•œ 것이닀.
  • 컴퓨터 μ„Έκ³„μ—μ„œ μ μš©λ˜λŠ” κ°œλ…μ€ μΌλ°˜ν™”/νŠΉμˆ˜ν™” κ΄€κ³„λ‘œ λ‚˜λ‰œλ‹€.
  • νƒ€μž…μ„ μ‚¬μš©ν•¨μœΌλ‘œμ¨ 객체지ν–₯μ—μ„œλŠ” μ‹œκ°„μ— λ¬΄κ΄€ν•œ 객체의 νŠΉμ§•μ„ 기반으둜 정적 λͺ¨λΈμ„ λ§Œλ“€ 수 μžˆλ‹€.
  • νƒ€μž…κ³Ό ν΄λž˜μŠ€λŠ” μ—„λ°€νžˆ λ§ν•˜λ©΄ λ‹€λ₯Έ μ˜λ―Έλ‹€. ν΄λž˜μŠ€λŠ” ν”„λ‘œκ·Έλž˜λ°μ—μ„œ νƒ€μž…μ„ κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ 방법 쀑 ν•˜λ‚˜μΌ 뿐이닀.