λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“šμ½μ€ μ±… 정리/μžλ°” 객체지ν–₯ 원리와 이해

[μŠ€ν”„λ§ μž…λ¬Έμ„ μœ„ν•œ μžλ°” 객체지ν–₯의 원리와 이해] 1μž₯ : μ‚¬λžŒμ„ μ‚¬λž‘ν•œ 기술

μŠ€ν”„λ§μ€ 객체지ν–₯의 기반 μœ„μ—μ„œ λ§Œλ“€μ–΄μ‘Œλ‹€. λ”°λΌμ„œ, 객체지ν–₯에 λŒ€ν•œ μ΄ν•΄λŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•œ ν•„μˆ˜ 쑰건이닀.

μŠ€ν”„λ§μ€ 객체지ν–₯의 기반 μœ„μ— μ„œμžˆλ‹€.

OOP - μžλ°”, C++, C# [κ°œλ…, μ œν’ˆ]

???? - μŠ€ν”„λ§ ⇒ ????μ—λŠ” 무엇이 λ“€μ–΄κ°ˆκΉŒ?

μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬

  • κ°œλ…
  • λ°©λŒ€ν•œ μ œν’ˆ

글쓴이가 μƒκ°ν•˜λŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ˜ κ°œλ…μ€ → OOP ν”„λ ˆμž„μ›Œν¬

λ”°λΌμ„œ, μŠ€ν”„λ§μ„ μ•Œλ €λ©΄ 객체지ν–₯을 μ΄ν•΄ν•΄μ•Όλ§Œ ν•œλ‹€. 또, ν”„λ ˆμž„μ›Œν¬κ°€ 무엇인지 이해해야 ν•œλ‹€.

μŠ€ν”„λ§μ΄ μ–΄λ €μš΄ 이유?

  • OOPλ₯Ό 잘 λͺ¨λ₯΄κ±°λ‚˜ μ˜€ν•΄ν•˜κ³  μžˆλŠ” 경우
  • μŠ€ν”„λ§ μ‚Όκ°ν˜• : IoC/DI, AOP, PSA (μŠ€ν”„λ§μ„ μ§€λ°°ν•˜λŠ” 3μš”μ†Œ)
    • μŠ€ν”„λ§ μ‚Όκ°ν˜•μ€ POJO에 3가지 μœ ν˜•μ˜ 진동을 쀌으둜써 κ±°λŒ€ν•œ ν”„λ ˆμž„μ›Œν¬λ₯Ό 완성함!

→ 7μž₯ ν•™μŠ΅

μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ˜ 아름닀움

μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬λŠ” μ—”ν„°ν”„λΌμ΄μ¦ˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜(ORM, AOP, CoC λ“±)을 κ΅¬ν˜„ν•˜λŠ”λ° ν•„μš”ν•œ 거의 λͺ¨λ“  μ„œλΉ„μŠ€λ₯Ό 지원해쀀닀.

  • PSA (Portable Service Abstraction)
    • 일관성 μžˆλŠ” μ„œλΉ„μŠ€ 좔상화

μŠ€ν”„λ§μ€ ORM, AOP, CoCλ“± μ—”ν„°ν”„λΌμ΄μ¦ˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ„ PSA 기법을 톡해 ν‘œμ€€ν™”λœ λ°©μ‹μœΌλ‘œ 더 쉽고 νŽΈν•˜κ²Œ κ°œλ°œν•  수 있게 ν•΄μ€€λ‹€.

μžλ°”μ—μ„œ μ•Œμ•„μ•Ό ν•˜λŠ” 것

  • OOP κ°œλ…
  • μžλ°” μ–Έμ–΄ 문법
  • μžλ°”κ°€ OOPκ°œλ…μ„ κ΅¬ν˜„ν•œ 방식