상속 3

[7] 소프트웨어 디자인 원칙들 - 디자인 원칙들

출처 : 디자인 패턴에 뛰어들기 - 알렉산더 슈베츠 도서좋은 소프트웨어 디자인이란 무엇일까? 그리고 어떻게 측정할까? 또 이를 달성하기 위해 어떤 관행을 따라야 할까? 즉, 아키텍쳐를 유연하고, 안정적이며, 이해하기 쉽게 만드는 법이 무엇일까에 대한 해답을 알 수 있다.변화하는 내용을 캡슐화하세요당신의 앱에서 변경되는 부분들을 식별한 후 변하지 않는 부분들과 구분해야 한다.소프트웨어 개발에서 변화는 피할 수 없는 부분이다. 따라서 변경되는 부분을 식별하고, 이를 변하지 않는 부분과 분리하는 것이 중요하며, 이러한 접근법은 변화로 인한 영향을 최소화하는 데 도움이 된다.변화로 인한 결과 최소화변화로 인한 영향을 줄이기 위해, 변경 사항을 독립된 모듈로 캡슐화하는 방법이 있다.이를 통해 프로그램의 다른 부분..

[2] 객체 지향 프로그래밍 소개 - OOP의 기둥들

출처 : 디자인 패턴에 뛰어들기 - 알렉산더 슈베츠 도서객체 지향 프로그래밍(OOP)은 프로그래밍 패러다임 중 하나로, 다음의 4가지 핵심 개념에 기반을 둔다.추상화, 캡슐화, 상속, 다형성 각각의 개념을 간단한 예제로 이해할 수 있다.1. 추상화추상화는 실생활의 객체를 특정 맥락에서만 필요한 속성과 행동으로 모델링하는 것이다.불필요한 세부 사항은 생략한다.중요한 부분만을 남긴다.그림 예제-1)위 그림과 같이, Airplane 클래스는 비행 시뮬레이터와 항공 좌석 예약 시스템에서 다르게 추상화될 수 있다.비행 시뮬레이터: 비행의 물리적 특성과 조작에 관한 정보 포함항공 좌석 예약 시스템: 좌석 배치와 예약 가능 여부 정보 포함예제 코드 class Airplane { public: vo..

[1] 객체 지향 프로그램 소개 - OOP의 기초

출처 : 디자인 패턴에 뛰어들기 - 알렉산더 슈베츠 도서OOP 란?객체 지향 프로그래밍(Object Oriented Programing)을 의미한다.이는 데이터 조각들 및 해당 데이터와 관련된 행동들을 객체라는 묶음으로 집합 및 틀 또는 체계라는 개념을 가지고 있다.이 객체들이 집합하여 프로그래머가 정희하는 집합 구성체가 바로 클래스이다.객체와 클래스들아래 고양이 예시 그림을 통해 OOP의 개념을 이해해보자.그림 예제-1)위 그림은 UML 클래스 다이어그램이며, 이해한 내용을 아래와 같이 정리해보았다.상단에는 클래스명을 의미한다.중단에는 필드들(변수)를 의미한다.필드명 앞단의 "+" 의 의미는 공개(pubilc)를 의미한다.필드명 앞단의 "-" 의 의미는 비공개(private)를 의미한다.tip) "+ ..