좋은 아키텍처를 만드는 일은 객체 지향 설계 원칙을 이해하고 응용하는 데서 출발한다. 객체 지향이란? 데이터와 함수의 조합 실제 세계를 모델링하는 방법 캡슐화 상속 다형성 캡슐화? OO가 데이터와 함수를 쉽게 캡슐화하는 방법을 제공한다고 말하는데, 이는 잘못된 설명이다. OO를 기반으로 설계되지 않은 C 언어에서 오히려 더 완벽한 캡슐화를 제공한다. point.h struct Point; struct Point* makePoint(double x, double y); double distance(struct Point* p1, struct Point* p2); point.c #include "point.h" #include #include struct Point { double x, y; }; struc..