객체지향 이야기 – 5.C++ 인터페이스

대한민국 개발자와 객체지향 이야기 - 5.C++ 인터페이스 미켈란젤로는 시스티나 성당의 천장 벽화를 그릴 때 구석에 있는 조그마한 인물까지 꼼꼼히 그리는 섬세함을 보였다. 누가 알아보겠냐는 질문에 “내가 알지”라는 말로 답했다. 개발을…

Continue Reading 객체지향 이야기 – 5.C++ 인터페이스

객체지향 이야기 – 4.상속 구현(2)

대한민국 개발자와 객체지향 이야기 - 4.상속 구현(2) 재사용 관점에서 절차적 언어인 C가 실톱이라면, C++의 상속은 전기톱에 비유할 수 있다. 하지만 다중상속에 대해서는 C++의 대가들 사이에도 사용에 대한 견해가 천차만별이다. 스콧메이어는…

Continue Reading 객체지향 이야기 – 4.상속 구현(2)

객체지향 이야기 – 3.상속 구현(1)

대한민국 개발자와 객체지향 이야기 - 3.상속 구현(1) 상속에 의해 생성된 클래스 계층도에서 배정 연산은 눈에 보이는 것과 다른 문제를 일으킬 수 있다. 폴리모피즘에 의해 동적 바인딩 되는 메소드로 인해 타입…

Continue Reading 객체지향 이야기 – 3.상속 구현(1)

객체지향 이야기 – 2.상속설계(2)

대한민국 개발자와 객체지향 이야기 - 2.상속설계(2) 복잡성이 소프트웨어 개발의 가장 기술적인 주제라면, 확장성은 소프트웨어 생명에 있어 심장과도 같다. 상속 설계를 살펴보며, 두 가지 주제에 대해 차례대로 알아보고, 평가해 보자. 정명수…

Continue Reading 객체지향 이야기 – 2.상속설계(2)

객체지향 이야기 – 1.상속설계(1)

대한민국 개발자와 객체지향 이야기 - 1.상속설계(1) 필자의 한 후배가 술자리에서 자신이 설계한 클래스 다이어그램을 보여주며 정상적인 클래스 계층도를 형성하고 있는지 물어본 적이 있다. 얼핏 보기에 다형성을 적용하기에 무리가 없고, 상속관계도…

Continue Reading 객체지향 이야기 – 1.상속설계(1)

트레이트 – 11.다중 상속 모델, 다중 트레이트

클래스는 동시에 여러 개의 트레이트를 조합할 수 있습니다. 클래스에 use 문을 사용하여 여러 개의 트레이트를 쉼표로 구분하여 나열하면 다중 트레이트(multiple trait)를 구현할 수 있습니다. [crayon-60983b2436f3f225661732/] 다중 상속 모델 다중 상속(multiple…

Continue Reading 트레이트 – 11.다중 상속 모델, 다중 트레이트

붕어빵틀에 관한 소고(小考)

2008년에 프로그래밍 세계에서 발을 뗀 후, 13년 만에 돌아와 자료를 정리하면서 인터넷을 검색하다 보니 붕어빵틀에 관한 비판이 아주 많이 보이네요. 아주 흥미롭게 보았고요. 일면 이해가 되는 부분도 있었습니다. 클래스 vs.…

Continue Reading 붕어빵틀에 관한 소고(小考)

트레이트 – 02.수평적 재사용

PHP의 수평적 재사용(Horizontal Reuse) 클래스 계층 구조로부터 독립적으로 행위(behavior)를 재사용하는 수평적 방법의 주요 동기는 명확한 개념적 배경과 최적의 코드 재사용을 동시에 사용하여 클래스 및 클래스 계층을 모델링 할 수 있는…

Continue Reading 트레이트 – 02.수평적 재사용

개발자가 놓치기 쉬운 자바의 기본 원리

JAVA 언어에 대한 오래된 내용이지만 객체지향언어를 다루는데 있어서 놓치기 쉬운 기본 원리를 설명하고 있으므로 PHP 언어에서도 참고할 만 합니다. JAVA에서만 구현되는 Tiger, Debug write, 예제 코드 등은 보지 않으셔도 될…

Continue Reading 개발자가 놓치기 쉬운 자바의 기본 원리

트레이트 – 20.트레이트 관련 함수

리플렉션 기능 함수 리플렉션 API와 관계없이, 기존의 클래스 또는 인터페이스에서 제공되는 관련 함수와 발을 맞춰서 리플렉션 기능의 트레이트 함수가 추가되었습니다. trait_exists 클래스와 인터페이스가 아닌 트레이트가 존재하는지 여부를 반환함 get_declared_traits 클래스나…

Continue Reading 트레이트 – 20.트레이트 관련 함수