[DesignPattern] 모던 객체지향 설계 - 객체지향의 기본 원칙

2025. 3. 31. 23:27·Design Pattern

1. 개요

모던 객체지향 설계란,

  • 객체지향 프로그래밍의 원칙을 따른다.
  • C++의 기능을 활용하여 더 안전하고, 효율적이며, 유지보수 가능한 코드를 작성하는 것이다.

 

2. 객체지향의 기본 원칙

클래스는 기본적으로 멤버 변수와 멤버 메서드로 구성되어 있다.

클래스는 정보와 그 정보로 작동되는 동작을 가지고 있다.

 

2.1 캡슐화 (Encapsulation)

  • 데이터를 객체 내부로 숨긴다.
  • 데이터를 객체 외부로 공개할 때 메서드로만 접근하도록 설계한다. (= 캡슐화한다.)
  • 캡슐화는 클래스를 만들 때 클래스와 관련된 데이터와 동작으로 설계하여야 한다.

 

2.2 상속 (Inheritance)

  • 부모 클래스로부터 속성과 메서드를 상속받아 코드 재사용을 극대화한다.
  • 여러 클래스가 동일한 기능을 가지고 있을 수 있음으로 상속을 사용한다.

 

2.3 다형성 (Polymorphism)

  • 동일한 인터페이스를 공유하는 객체들이 각자의 구현을 제공한다.
  • 하나의 함수를 호출하지만 객체마다 다른 기능이 호출되면 다형성이 적용된다.
  • 하나의 인터페이스를 정의했지만 해당 인터페이스는 다양한 형태를 가질 수 있다. (다형성)

 

2.4 추상화 (Abstration)

자동차, 오토바이 세부 기능을 몰라도 앞으로 가는(moveForward) 기능이 있다는 것을 알 수 있다.

  • 세부 내용을 알지 못하더라도 어떤 것이 동작할 것이다라고 알 수 있게 설계하는 것을 추상화라고 한다.
  • 추상화는 캡슐화가 필요하다. (내부를 숨기는)
  • 추상화는 다형성을 따라야 한다.

 

 

참고

객체 지향 프로그래밍의 4가지 특징

'Design Pattern' 카테고리의 다른 글

[Design Pattern] 전략 패턴  (0) 2025.04.02
[Design Pattern] 디자인 패턴  (0) 2025.04.01
[DesignPattern] 모던 객체지향 설계 - 활용 예시  (0) 2025.04.01
[DesignPattern] 모던 객체지향 설계 - 추가 원칙  (0) 2025.03.31
[DesignPattern] 디자인 패턴  (1) 2025.01.08
'Design Pattern' 카테고리의 다른 글
  • [Design Pattern] 디자인 패턴
  • [DesignPattern] 모던 객체지향 설계 - 활용 예시
  • [DesignPattern] 모던 객체지향 설계 - 추가 원칙
  • [DesignPattern] 디자인 패턴
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    KPT회고
    퀘스트
    디자인패턴
    basic
    Design Pattern
    디자인 패턴
    unrealengine
    레벨디자인
    component
    하드 레퍼런싱
    AI
    assetmanager
    tsoftobjectptr
    내일배움캠프
    gas
    Algorithm
    본캠프
    게임동기화
    소프트 레퍼런신
    Implement
    Animation
    알고리즘
    액터
    사전캠프
    DesignPattern
    c++
    actor
    unreal
    GameplayEffect
    Til
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[DesignPattern] 모던 객체지향 설계 - 객체지향의 기본 원칙
상단으로

티스토리툴바