본문 바로가기

모던 C 언어/C언어 객체지향2

1-2. 객체지향 C언어? (상속, 캡슐화) www.kernelpanic.kr/11 1-1. 객체지향 C언어? (클래스, 다형성) 객체지향이란? C언어의 객체지향이라는 주제로 이야기를 하려면, 우선 "객체지향"이란 무엇인지부터 짚고 넘어가야 한다. 나는 개인적으로 "클린 아키텍쳐"에서 말하는 객체지향 개념을 선호한� www.kernelpanic.kr 상속 상속은 위키백과에 다음과 같이 정의되어 있다. "상속(inheritance)은 객체들 간의 관계를 구축하는 방법이다. 클래스로 객체가 정의되는 고전 상속에서, 클래스는 기반 클래스, 수퍼클래스, 또는 부모 클래스 등의 기존의 클래스로부터 속성과 동작을 상속받을 수 있다. 그 결과로 생기는 클래스를 파생 클래스, 서브클래스, 또는 자식 클래스라고 한다." 간단하게 정리해서 여기서 다루는 상속은 부모.. 2020. 8. 26.
1-1. 객체지향 C언어? (클래스, 다형성) 객체지향이란? C언어의 객체지향이라는 주제로 이야기를 하려면, 우선 "객체지향"이란 무엇인지부터 짚고 넘어가야 한다. 나는 개인적으로 "클린 아키텍쳐"에서 말하는 객체지향 개념을 선호한다. 마틴 파울러는 클린 아키텍쳐에서 객체지향을 "객체지향이란 다형성을 이용하여 전체 시스템의 모든 소스코드 의존성에 대한 절대적인 제어 권한을 획득할 수 있는 능력"이라고 정의한다. 이 말을 장황하게 풀어쓰면 다음과 같다. 객체지향을 활용하면 #1. SW 세부사항들이 핵심사항을 의존하도록 구성하고, #2. 각 SW 모듈간 의존성은 최소화하며, #3. 인터페이스 등을 통해 SW 다형성을 확보하여 #결론. 시스템의 개발/수정/유지보수의 용이성을 크게 높을 수 있다. 이 정의대로면 C언어로도 충분히 객체지향적인 코드를 짤 수 .. 2020. 8. 25.