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

πŸ“° CS μ€€λΉ„/일반

OOP (객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°)

OOP(Object Oriented Programming, 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°), νŠΉμ§•
λΆ€ν’ˆκ°μ²΄λ₯Ό λ§Œλ“€κ³  이것듀은 ν•˜λ‚˜μ”© μ‘°λ¦½ν•΄μ„œ μ™„μ„±λœ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“œλŠ” κΈ°λ²•μž…λ‹ˆλ‹€. 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ μž¬μ‚¬μš©μ„±κ³Ό λ³€ν˜•κ°€λŠ₯성을 λ†’일 μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
1. 상속 : ν΄λž˜μŠ€κ°œλ…μ—μ„œ μƒμœ„ 클래슀(λΆ€λͺ¨)둜 λΆ€ν„° ν•˜μœ„ 클래슀(μžμ‹)이 μœ μ‚°μ„ λ¬Όλ €λ°›λŠ”κ²ƒκ³Ό 같이, λΆ€λͺ¨μ˜ λ©”μ†Œλ“œλ‚˜ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•  μˆ˜ μžˆλŠ” κ²ƒμ„ λ§ν•¨.
2. λ‹€ν˜•μ„± : κ°™μ€ ν•¨μˆ˜κ°€ μžˆλ‹€κ³  μΉ λŒ€ κ·Έ ν•¨μˆ˜κ°€ λ§€κ°œλ³€μˆ˜μ— λ”°λΌ λ‹€λ₯Έ μ—­ν• μ„ ν•  μˆ˜ μžˆλ‹€.
3. μΊ‘μŠν™” : 보톡 데이터λ₯Ό μ€λ‹‰μ‹œν‚¨λ‹€κ³  ν‘œν˜„ν•˜λŠ”λ°, μ™ΈλΆ€μ—μ„œ μ‰½κ²Œ 데이터λ₯Ό μ ‘κ·Όν•  수 μ—†κ²Œ λ§Œλ“€κΈ°λ„ν•˜κ³ , λ°μ΄ν„° κ΅¬μ‘°μ™€ λ°μ΄ν„°λ₯Ό λ‹€λ£¨λŠ” λ°©λ²•λ“€μ„ ν•œλ°λ‹€ λ¬ΆλŠ”것.
4. 좔상화 : 곡톡적인 μ†μ„±μ΄λ‚˜ κΈ°λŠ₯을 λ¬Άμ–΄μ„œ 이름을 λΆ™μ΄λŠ” 것 ( a b d μ΄λŸ°κ²Œμžˆλ‹€κ³  치면 이런건 μ•ŒνŒŒλ²³μ΄λΌκ³  λ¬Άμ„ μˆ˜ μžˆλ‹€)


μ ˆμ°¨μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° VS κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°

  μ ˆμ°¨μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°(C) 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°(JAVA)
처리 λ°©μ‹ 문제λ₯Ό μ—¬λŸ¬ 개의 ν•¨μˆ˜λ‘œ λ‚˜λˆ„μ–΄ 순차적으둜 ν˜ΈμΆœν•˜μ—¬ μ²˜λ¦¬ν•˜λŠ” 방식 문제λ₯Ό μ—¬λŸ¬ 개의 객체 λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄ μ²˜λ¦¬ν•˜λŠ” λ°©μ‹
μž₯점 κ°„λ‹¨ν•˜κ³  μ†Œκ·œλͺ¨ ν”„λ‘œμ νŠΈμ— μš©μ΄ν•¨.
비ꡐ적 λ°°μš°κΈ° μ‰¬μ›€.
μ»΄ν“¨ν„°μ˜ μ²˜λ¦¬κ΅¬μ‘°μ™€ μœ μ‚¬ν•΄ 싀행속도가 λΉ λ₯΄λ‹€.
졜근 κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ” λ°©μ‹μž„.
ν˜‘μ—…μ΄ μ€‘μš”ν•œ λŒ€ν˜• ν”„λ‘œμ νŠΈμ— μ ν•©ν•¨.
단점 였래된 방식이며 ν˜‘μ—…ν•΄μ„œ μ§„ν–‰ν•˜λŠ” 큰 ν”„λ‘œμ νŠΈμ—λŠ” μ ν•©ν•˜μ§€ μ•ŠμŒ.
μ½”λ“œμ˜ μˆœμ„œκ°€ λ°”λ€Œλ©΄ λ™μΌν•œ κ²°κ³Όλ₯Ό 보μž₯ν•˜κΈ° μ–΄λ ΅λ‹€.
ν•™μŠ΅ λ‚œμ΄λ„κ°€ λ†’μŒ.
개발자의 ν™œμš© λŠ₯λ ₯이 μ€‘μš”ν•¨.
μ ˆμ°¨μ§€ν–₯ μ–Έμ–΄λ³΄λ‹€ μ‹€ν–‰μ†λ„κ°€ λŠλ¦¬λ‹€.


 






'πŸ“° CS μ€€λΉ„ > 일반' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

일반적인 질문  (0) 2021.10.30