다형성 – 5.함수의 바인딩

함수를 컴파일하게 되면 해당 함수의 프로그램 코드가 물리적인 메모리상의 임의의 위치에 저장되며, 저장된 메모리 주소(address)를 호출하는 코드와 연결시켜 줍니다. 함수를 호출하는 코드와 함수가 위치한 메모리 주소를 연결시켜 주는 과정을 바인딩(binding)이라고…

Continue Reading다형성 – 5.함수의 바인딩

다형성 – 4.PHP의 함수 오버라이딩 및 오버로딩

PHP는 느슨한 타입(loosely typed) 검사를 하는 언어로 특별히 자료형을 지정하지 않더라도 자동 자료형변환(type juggling)을 통해 왠만한 연산은 에러 없이 수행할 수 있습니다. 그러나 여기서는 PHP 7부터 제공되는 strict 모드와 클래스…

Continue Reading다형성 – 4.PHP의 함수 오버라이딩 및 오버로딩

다형성 – 3.오버라이딩 및 오버로딩

객체지향 프로그래밍에서 다형성 개념은 오버로딩(중복정의)을 통해서도, 오버라이딩(재정의)을 통해서도 구현되고 있습니다. 그런데 많은 분들이 개념상 이 둘을 혼용하고 있어서 이 둘의 차이점을 정리하고자 합니다. 오버라이딩(overridding; 재정의) 객체지향언어에서 말하는 오버라이딩은 상속 관계에서…

Continue Reading다형성 – 3.오버라이딩 및 오버로딩

다형성 – 1.다형성의 의미

다형성(polymorphism)은 캡슐화(encapsulation), 상속(inheritance) 등과 함께 객체지향 프로그램을 구현하는 기본 개념입니다. 그렇다고 다형성이라는 개념이 객체지향 프로그램 언어의 전매특허는 아니며 그 이전부터 프로그램 언어마다 다양한 형태로 구현되고 있습니다. '위키백과'의 정의 프로그램 언어의…

Continue Reading다형성 – 1.다형성의 의미