[static binding과 dynamic binding의 차이점을 중점으로]
C++의 경우 컴파일 타임 때 실행될 함수를 결정함 --> static binding
따라서 상속의 경우 virtual function으로 정의를 하지 않을 경우
부모클래스의 포인터로는 부모 클래스에 정의된 멤버함수만을 사용할 수 있음
따로 멤버함수를 가상 함수로 정의해주어야 run-time때 실행될 함수를 결정할 수 있고
그렇기 때문에 부모클래스의 포인터가 가리키는 실제 객체의 함수를 호출하는 것이 가능함
--> dynamic binding
근데 자바의 경우는 dynamic binding 개념이기 때문에 C++처럼 가상 함수를 따로 정의해주지 않아도
부모클래스에만 적절한 메서드가 정의되어있으면 참조변수를 가지고 실제 인스턴스의 메서드를 실행하는
것이 가능함
'Java > 공개글' 카테고리의 다른 글
Can't load IA 32-bit .dll on a AMD 64-bit platform (1) | 2014.07.22 |
---|---|
이클립스에서 java JNI로 Hello World를 출력해보자 (3) | 2014.07.21 |
[JNI] javah could not find class file (0) | 2014.07.21 |
자바/이클립스에서의 Carriage Return, Line Feed에 대해서 (0) | 2014.02.28 |
참조형의 캐스팅에 대해서 (0) | 2013.07.13 |