본문 바로가기

객체 지향 프로그래밍2

상속, A is B, A behaves as B, 리스코프 치환 원칙 객체 지향 프로그래밍은 인간이 사물이나 개념들을 서로 연관 짓는 방식을 프로그래밍 언어로 그대로 표현할 수 있게 함으로써 코드의 가독성을 높인다. 여기서 자주 쓰이는 "연관 짓는 방식"에는 다음과 같은 것들이 있다. 포함 관계 (A is B) 예제: 사람은 동물이다. 프로그래밍 언어에서 상속이라는 기능을 쓰면 포함 관계를 표현할 수 있다. 다음 프로그래밍 언어 "public class Human extends Animal"은 적법한 코드다. 사람은 동물이기 때문이다. 그러나 위 짤방에 나온 "public class Car extends Person"은 좋은 코드가 아니다. 개체 관계 (a is an instance of B) 예제: 박은빈은 사람이다. 프로그래밍 언어에서 클래스와 인스턴스 사이의 관계가 .. 2024. 1. 30.
C++로 문서 작성 프로그램 만들기 - 1. 클래스 다이어그램 짜기 [객체 지향 프로그래밍 프로젝트 가이드] Motivation 객체 지향 프로그래밍 과제 프로젝트라 함은 무언가 엄청난 발명을 해서 실용적인 것을 추구하기보다는, 객체 지향 프로그래밍을 잘 이해할 목적으로 만들어지는 것이다. 그러므로 기본적으로 주제 선정에 있어서 4 Pillars of OOP를 마음에 새기는 것이 중요하다. 캡슐화(Encapsulation) 상속(Inheritance) 추상화(Abstraction) 다형성(Polymorphism) 개인적으로 나는 Polymorphism을 써서 만들 수 있는 프로그램이 뭐가 있을지 떠올리는 게 가장 힘들었다. 그러다가, "print() 멤버 함수로 문자열도 출력하고 표도 출력하고 그래프도 출력하는 프로그램이 있으면 재미있지 않을까?"라는 생각이 갑자기 들어서, 그때부터 보고서 작성 프로그램의 기획.. 2022. 8. 26.