본문 바로가기
Java

java 오버라이드(Override)

by 히예네 2023. 1. 29.
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