가상메서드(VirtualMethod)
가상 메서드
메서드 (Method)
- 명령어의 집합 (set)
- Java에서 모든 메서드는 가상 메서드이다.
메서드의 이름
은주소값
을 나타낸다.- 메서드를 호출하면 이름과 mapping되어 있는 주소값이 호출된다.
함수 호출 방식
- 프로그램이 로드되면
메서드 영역(코드 영역)
에명령어 set
이 위치한다. - 메서드가 호출되면 명령어 set이 위치한 주소를 찾아가 명령어가 실행된다.
- 이 때 메서드에 위치한 변수들은 stack메모리에 위치하게 된다.
서로 다른 인스턴스가 동일한 메서드를 호출하면 같은 method가 호출된다.
인스턴스가 생성되면 변수는 heap메모리에 저장이 되지만, 메서드 명령어 set은 한 번만 로드된다.
가상 메서드 (Virtual Method)
- 클래스마다 가상 메서드 테이블(Virtual Method Table)에 메서드의 address를 가지고 있다.
- 메서드가 재정의되면 재정의된 클래스의 테이블에 address가 추가된다.
가상메서드(VirtualMethod)
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.