반응형
상속과 오버라이드
기본의 재사용할수 있는 라이브러리를 틀로 사용하게되며 내가 기능을 추가하고 싶다면 메서드를 오버라이드해서 기능을 추가할 수 있습니다.
그럼 상속관계에서 메소드의 우선순위 관계에 대한 의문.
import java.awt.Frame;
public class Program {
public static void main(String[] args) {
GameFrame gf = new GameFrame();
gf.setVisible(true);
//=>Frame.repaint
//=>Frame.update
//=>Frame.paint
gf.setSize(500, 700);
}
}
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
public class GameFrame extends Frame {
private Image imgFighter, img;
public GameFrame() {
Toolkit tk = Toolkit.getDefaultToolkit();
img = tk.getImage("src/images/backgroundImage.jpg");
}
@Override
public void paint(Graphics g) {
g.drawLine(0, 0, 300, 300);
int w = 740;
int h = 500;
}
}
Frame을 상속받은 GameFrame의 객체는 Frame의 메서드와 속성을 사용할 수 있는데. frame에서 제공해주는 paint메서드에 우리가 Override 한 paint메서드에 우선순위가 밀린다 왜 밀릴까?
메서드가 실행될때 상속받은 자식객체의 메서드가 우선순위로 실행된다.
자바는 참조형식의 함수보다 객체형식의 함수가 먼저 호출되기 때문이고
자료형식은 참조할수있는 함수의 범위를 정해주게된다.
반응형
'웹 프로그래밍 기초 > 자바기반의 웹&앱 응용SW 개발자' 카테고리의 다른 글
자바기반의 웹&앱 응용 SW개발자 양성과정 16일차 -29 (0) | 2020.03.18 |
---|---|
자바기반의 웹&앱 응용 SW개발자 양성과정 15일차 -28 (0) | 2020.03.17 |
에이콘 아카데미 JAVA 복습 2주차 정리 -2 (0) | 2020.03.15 |
에이콘 아카데미 JAVA 복습 2주차 정리 -1 (0) | 2020.03.15 |
자바기반의 웹&앱 응용 SW개발자 양성과정 13일차 -26 (0) | 2020.03.13 |
댓글