728x90
반응형
메서드는 어떻게 호출되고 실행되는가
- 메서드(함수)의 이름은 주소값을 나타냄
- 메서드는 명령어의 set이고 프로그램이 로드되면 메서드 영역(코드 영역)에 명령어 set이 위치
- 해당 메서드가 호출되면 명령어 set이 있는 주소를 찾아 명령어가 실행됨
- 이때 메서드에서 사용하는 변수들은 스택 메모리에 위치하게됨
- 따라서 다른 인스턴스라도 같은 메서드의 코드는 같으므로 같은 메서드가 호출됨
- 인스턴스가 생성되면 변수는 힙 메모리에 따로 생성되지만, 메서드 명령어 set은 처음 한번만 로드 됨
가상 메서드의 원리
- 가상 메서드 테이블(virtual method table)에서 해당 메서드에 대한 address를 가지고 있음
- 재정의된 경우는 재정의된 메서드의 주소를 가리킴
'프로그래밍 언어 > JAVA(자바) 응용' 카테고리의 다른 글
28.상속은 언제 사용 (0) | 2022.05.24 |
---|---|
27.다형성 (0) | 2022.05.24 |
25.메서드 재정의(오버라이딩,Overriding) (0) | 2022.05.24 |
24.상속에서 클래스 생성과정과 형 변환 (0) | 2022.05.24 |
23.상속을 활용한 멤버십 클래스 구현 (0) | 2022.05.23 |
댓글