728x90
반응형
오버라이드(Override) : 상속받은 메소드를 수정하고싶을때
step1 임의의 클래스(First 클래스)를 만든다.
public class First {
private int a;
public void show() {
System.out.println("a : "+ a);
}
}
step2 First를 상속받자
public class Second extends First{
private int b;
//멤버값을 출력하는 메소드(상속받은 a변수도 출력할 의무가 있다)
//상속받은 출력기능 show는 a 변수만 함.. 개선하자!!
//이를 개선하기 위해 Override : 이미 부모에게 받은걸 좀 수정
public void show() {
System.out.println(); //부모의 프빗a는 못쓴다 >>First에게 출력을 요청해야함.
//show(); 부모의 show() 메소드 호출하고싶은데 그렇게 안됨 재귀호출로 인해 11번줄이 나옴
super.show();
System.out.println("b: " + b);
System.out.println();}
}
step3 메인함수에서 동작시키자
public class Main {
public static void main(String[] args) {
Second s=new Second();
s.show(); //새로 오버라이드된 show()가 호출됨
}
}
728x90
반응형
'Java' 카테고리의 다른 글
java abstract (0) | 2023.01.30 |
---|---|
java Final (0) | 2023.01.29 |
java 상속 (Inheritance) (0) | 2023.01.29 |
Java_생성자 (0) | 2023.01.28 |
Java_인스턴스멤버와 Static(정적멤버) (0) | 2023.01.28 |