달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • math
  • 혼공MySQL
  • Bronze V
  • programmers
  • Bronze III
  • 혼공SQL
  • 문제풀이
  • sql 문제풀이
  • HTML
  • 프로그래머스
  • java
  • MySQL
  • BOJ
  • Scanner
  • SQL고득점Kit
  • 백준문제풀이
  • Algorithm
  • java algorithm
  • 자바
  • 알고리즘풀이
  • 백준
  • BRONZE
  • 혼자공부하는SQL
  • 백준알고리즘
  • SQL
  • 알고리즘
  • react
  • Bronze IV
  • BOJ algorithm
  • select

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

가상 메서드 원리
개념 창고/JAVA

가상 메서드 원리

2022. 6. 27. 12:56

메서드는 어떻게 호출되고 실행 되는가?

  • 메서드(함수)의 이름은 주소값을 나타냄
  • 메서드는 명령어의 set 이고 프로그램이 로드되면 메서드 영역(코드 영역)에 명령어 set이 위치
  • 해당 메서드가 호출 되면 명령어 set 이 있는 주소를 찾아 명령어가 실행됨
  • 이때 메서드에서 사용하는 변수들은 스택 메모리에 위치 하게됨
  • 따라서 다른 인스턴스라도 같은 메서드의 코드는 같으므로 같은 메서드가 호출됨
  • 인스턴스가 생성되면 변수는 힙 메모리에 따로 생성되지만, 메서드 명령어 set은 처음 한번만 로드 됨

가상 메서드의 원리

  • 가상 메서드 테이블(vitual method table)에서 해당 메서드에 대한 address를 가지고 있음
  • 재정의된 경우는 재정의 된 메서드의 주소를 가리킴

'개념 창고 > JAVA' 카테고리의 다른 글

상속을 사용하는 때  (0) 2022.06.27
다형성(polymorphism)  (0) 2022.06.27
overring(메서드 재정의)  (0) 2022.06.27
상속에서 클래스 생성 과정과 형 변환  (0) 2022.06.27
객체 간의 상속  (0) 2022.06.24
    '개념 창고/JAVA' 카테고리의 다른 글
    • 상속을 사용하는 때
    • 다형성(polymorphism)
    • overring(메서드 재정의)
    • 상속에서 클래스 생성 과정과 형 변환
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바