트레이트 – 17.정적 멤버와 싱글턴 패턴

트레이트는 정적 변수, 정적 프로퍼티와 정적 메소드를 모두 정의할 수 있습니다. 트레이트는 기존의 클래스가 구성하고 있는 상속 관계를 전혀 손상시키지 않으면서, 더욱 심플하게 작성된 코드를 재사용할 수 있으므로, 트레이트에서 지원하는…

Continue Reading트레이트 – 17.정적 멤버와 싱글턴 패턴

클로저 – 07.클로저 리플렉션

리플렉션을 이용하면 클로저를 동적으로 생성하고 실행 중인 클로저의 정보를 분석할 수 있습니다. 클로저는 이름이 없지만, 일반적인 함수와 마찬가지로 클로저 객체에 대한 올바른 함수 포인터를 반환하기 때문에 리플렉션 기능을 활용할 수…

Continue Reading클로저 – 07.클로저 리플렉션

클로저 – 04.callable 타입

callable 타입 지원 preg_replace_callback, preg_replace_callback_array, array_map, array_filter, array_reduce 또는 array_walk와 같은 PHP 내장 함수에 콜백 함수를 매개변수(parameter)로 전달할 수 있습니다. 콜백 함수를 매개변수(parameter)로 받는 PHP 내장 함수가 거의 없기 때문에 PHP…

Continue Reading클로저 – 04.callable 타입

클로저 – 06.내장 클래스 ‘Closure’

PHP의 클로저가 함수로 표현된 익명 함수와 화살표 함수로 구현될 때,  내장된 Closure라는 클래스를 이용하여 클로저 객체를 생성합니다. 익명 함수와 화살표 함수로 구현되는 클로저는 내장 클래스 Closure의 객체입니다. 클래스의 구성 PHP…

Continue Reading클로저 – 06.내장 클래스 ‘Closure’

클로저 – 03.PHP의 클로저 구현

클로저 객체 생성 PHP의 클로저는 익명 함수와 화살표 함수로 구현됩니다. 익명 함수와 화살표 함수는 모두 함수의 구문식을 사용하여 표현되지만, PHP는 이 구문식을 클로저 객체를 생성하는 구문으로 컴파일합니다. 객체 생성 구문식…

Continue Reading클로저 – 03.PHP의 클로저 구현

클로저 – 02.클로저

람다 함수와 클로저(closure) 람다 함수를 사용하지 않더라도 람다 함수의 기능을 create_function()으로 수행할 수 있으며, 또한 기명 함수를 사용하여 콜백 함수를 정의하여 콜백 기능을 수행할 수 있습니다. 이러한 이유로 2007년 말…

Continue Reading클로저 – 02.클로저

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

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

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

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

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

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