오브젝트 (4)

2025. 4. 16. 20:11·Book/DEV
목차
  1. 상속과 코드 재사용
  2. 상속
  3. 합성
  4. 믹스인
  5. 다형성
  6. self
  7. super
  8. 위임

이 포스팅은 오브젝트(조영호)를 읽으면서 정리한 글입니다

이전 포스팅

오브젝트 (1)
오브젝트 (2)
오브젝트 (3)

상속과 코드 재사용

상속

  • 기존 클래스를 확장해 새로운 클래스를 만듬
  • is-a 관계
  • 기존 클래스의 기능을 물려받는다.
  • 부모와의 결합도 ⬆️
    • 자식이 부모에 대해 아주 잘! 알아야함

언제 상속을 사용할까?

  • 상속 관계가 is-a 관계인가?
  • 부모 클래스 타입으로 자식 클래스를 사용해도 무방한가? (행동호환성)

합성

  • 클래스 인스턴스 안에 기존의 인스턴스를 추가
  • has-a 관계
  • 합성 객체들의 인터페이스를 명확하게 정의해야 함

믹스인

객체 생성시 코드 일부를 클래스 내에 섞어 넣는다(컴파일 시점 주입)

스칼라의 트레이트가 이를 활용


다형성

런타임 시점에 결합되는 동적인 문맥을 사용한다.

self

런타임 시점에 자기 자신 / 혹은 자식 인스턴스를 가르킨다.
현재 객체의 동적 타입을 기준으로 호출 대상을 찾는다

추상화된 계층에서 self를 호출할 시 어떤 클래스의 함수인지 탐색한다. 이 때문에 디버깅 난이도가 상승한다.

super

상속 계층을 따라가면서 출력 가능한 객체를 탐색한다.
정적 타입을 기준으로 호출 대상을 찾는다

조부모 - 부모 - 자식 관계에서 자식이 super()를 호출 시 부모엔 없고 조부모에게만 있는 메서드를 호출할 수도 있다.
예상하지 못한 동작🔥 발생 가능


위임

클래스 - 인스턴스 간 차이를 제거

객체가 스스로 처리하지 않고 다른 객체에게 책임을 넘기는 방식

  • 상속에서도 암묵적 위임이 일어남
  • 자바스크립트의 prototype 기반 객체 모델도 메시지 위임 체계

일반화 / 특수화 관계

  • 부모 클래스: 자식 클래스를 일반화
  • 자식 클래스: 부모 클래스를 특수화

 

저작자표시 비영리 변경금지 (새창열림)

'Book > DEV' 카테고리의 다른 글

오브젝트 (3)  (0) 2025.04.09
오브젝트 (2)  (0) 2025.04.08
오브젝트 (1)  (1) 2025.04.01
만들면서 배우는 클린 아키텍쳐 (2)  (0) 2025.03.14
만들면서 배우는 클린 아키텍쳐  (1) 2024.12.11
  1. 상속과 코드 재사용
  2. 상속
  3. 합성
  4. 믹스인
  5. 다형성
  6. self
  7. super
  8. 위임
'Book/DEV' 카테고리의 다른 글
  • 오브젝트 (3)
  • 오브젝트 (2)
  • 오브젝트 (1)
  • 만들면서 배우는 클린 아키텍쳐 (2)
코드파고
코드파고
  • 코드파고
    Digging Code
    코드파고
  • 전체
    오늘
    어제
    • 분류 전체보기 (95)
      • Memorization (12)
      • Spring (18)
      • Java (1)
      • Algorithm (37)
      • Server (2)
      • DB (0)
      • CS (0)
      • CI & CD (4)
      • Architecture (0)
      • Design Patterns (0)
      • Study (1)
      • Book (9)
        • DEV (7)
        • Non-DEV (0)
      • Infra (10)
        • Kafka (6)
        • AWS (4)
      • TroubleShooting (1)
        • Etc (1)
      • Tools (0)
  • 블로그 메뉴

    • 홈
    • Github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    클린아키텍쳐
    Spring독학
    헥사고날아키텍쳐
    architecture
    clean architecture
    Spring Boot
    SpringFramework
    Clean Code
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
코드파고
오브젝트 (4)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.