전체 글 312

구상(Concrete) 클래스, 추상(Abstract) 클래스

객체 지향 프로그래밍에서 클래스는 크게 두 분류로 구분하지요. 그것은 바로 구상(concrete) 클래스와 추상(abstract) 클래스이고요. 객체 지향 설계에서 이 두 클래스 구분은 가장 기본적이고 중요한 개념입니다. C++, Java, C# 등의 객체 지향 언어 문법책에서는 추상 클래스, 인터페이스, 상속, 다형성 그리고 virtual table 등을 문법적으로 설명합니다. 문법적 설명과 동작을 이해하는 것이 우선시되고요. 불행히도 이러한 책들을 독파 했음에도 클래스는 크게 두 가지로 분류할 수 있는데 어떤 것이 있냐고 물어 보면 잘모르는 사람들이 많아요. 객체를 정의하는 것이 클래스이며 이 클래스를 스택 또는 힙 메모리에 생성을 하여 사용 하는데 이것을 인스턴싱이라 부릅니다. 인스턴싱 할 수 있는..

디자인 패턴 개요

프로그래밍을 공부하면서 "디자인 패턴"이라는 것을 한번쯤은 들어 봤을 거에요. 한번도 들어 보지 못했다면... 그리고 내가 전문 프로그래머가 될 것이라면 꼭 찾아봤으면 해요. 왜냐고요? 이것이 무엇인지 모르고 활용할 수도 없으면 결코 뛰어난 프로그래머의 반열에 들어 슬 수 없어요. 어떤 천재는 객체 지향 언어 문법책만을 보고 객체 지향 설계를 배울 필요도 없는 사람도 있을 수도 있겠지만... 난 22년을 프로그래머로 일했지만 단 한번도 이런 사람을 보지도 듣지도 못했거든요. 디자인 패턴은 무엇인가? "디자인 패턴"은 객체 지향 패러다음 관점으로 전문가들의 경험을 카탈로그 형식으로 기록한 객체 지향 설계 기법들이예요. 디자인 패턴의 중심에는 객체 지향 설계가 있어요. 객체 지향 언어는 프로그래밍 언어에서 ..

반응형