본문 바로가기
728x90
반응형
SMALL

메서드 재정의2

[JAVA] 자바 - 메서드 재정의와 가상 메서드 원리 메서드가 어떻게 호출되고 실행되는가? 메서드의 이름은 주소 값을 나타냅니다. 메서드는 명령어의 set이고 프로그램이 로드되면 메서드 영역(코드 영역)에 명령어 set이 위치합니다. 해당 메서드가 호출되면 명령어 set이 있는 주소를 찾아 명령어가 실행됩니다. 이때 메서드에서 사용하는 변수들은 스택 메모리에 위치하게 됩니다. 따라서 다른 인스턴스라도 같은 메서드의 코드는 같으므로 같은 메서드가 호출됩니다.(다만 변수 값은 다릅니다.) 인스턴스가 생성되면 변수는 힙 메모리에 따로 생성되지만 메서드 명령어 set은 처음 한 번만 로드됩니다. public class TestMethod { int num; void aaa() { System.out.println("aaa() 호출"); } public static.. 2021. 11. 30.
[JAVA] 자바 - 메서드 재정의 하기(Overriding) 하위 클래스에서 메서드 재정의 하기 오버 라이딩 : 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현한 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있습니다. VIPCustomer 클래스의 calcPrice()는 할인율이 적용되지 않았습니다. 재정의하여 구현해야 합니다. VIPCustomer.java @Override public int calcPrice(int price) { // Override된 메서드이기 때문에 이름이 바뀌면 error bonusPoint += price * bonusRatio; return price - (int)(price * salesRatio); } @overriding 애노테이션(annotation) 애노테이션은 원래 주석이라.. 2021. 11. 30.
728x90
반응형
LIST