블로그
- [C++] virtual function table에 저장된 주소를 사용해 가상 함수 호출하기 - Step 2 이 글을 아래에 링크한 글과 연결되는 내용입니다. [Step 1]을 보지 않았다면 [Step 1]부터 보세요. C++를 공부하시는 분들이 많이 질문하시는 내용 중에 한 가지는 상속된 클래스의 vtable은 어떻게 구성되어 있는지에 대한 것입니다. 부모 클래스의 가상 함수를 자식 클래스에
- [C++] virtual function table에 저장된 주소를 사용해 가상 함수 호출하기 - Step 1 클래스에서 virtual 키워드로 가상 함수를 추가하면 객체의 시작 위치에 'virtual function table'(이하 vtable) 정보가 추가됩니다. 보통의 경우 클래스에 선언된 가상 함수 순서대로 해당 함수의 주소가 vtable에 저장되어 있기 때문에 vtable에 저장된 함
- [C++] override 키워드는 꼭 적어야 할까? (실무적 관점과 명시적 안전장치) override 키워드는 C++11 표준(2011년)에서 처음 추가되었습니다. 가상 함수를 사용할 때 발생할 수 있는 소소한 실수를 방지하기 위해 도입된 키워드입니다. 자식 클래스에서의 가상 함수 오버라이딩 기본 동작 C++에서 가상함수는 virtual 키워드를 적으면 해당 클래스부터 추가되고 상속 받은 클래스에서는 virtual 키워드를 적든 안적든
- [영진전문대학 컴퓨터정보계열] 하향 형변환 자바 -모든 함수(메소드) 가상 함수(동적 바인딩) // 함수가 어디 있는지 찾아서 접근 하기 때문에 더 느리다. Shape s = new Rectangle(); s.draw(); // 재정의된 메소드 호출 C/C++ -모든 함수 정적 함수(정적바인딩) 함수 호출 속도가 더빠르다.
- [영진전문대 컴퓨터정보계열프로그래밍전공]9월30일 공부내용 자바 - 모든 함수(메소드) 가상함수(동적바인딩) Shape s = new Rectangle(); s.draw(); 이것은 Rectangle의 코드다. // 재정의 된 메소드 호출. C/C++ - 모든 함수정적함수(정적바인딩) - virtual void draw() { } // 이걸 붙으면 동적바인딩 다형성(Polymorphism) (인프라) 상속관계 계층구조