상세 컨텐츠

본문 제목

오버라이딩 - Overriding

Coding (코딩)/Java (자바)

by 매일매일 배우는 개발자 2020. 9. 11. 12:50

본문

728x90

오버라이딩이란?

 

부모클래스를 그대로 사용하면 제약이 많으므로 부모클래스로부터 상속받은 매서드를 그대로 사용하지 않고 자신에게 맞게 변형해서 사용하는것이다.

 

객체지향의 개념에서 상속과 오버라이딩은 항상 따라다니므로 같이 이해하면 편하다.

 

아래와 같은 코딩을 통해 이해하자

package calss;

public class Result {
	
	public static void main(String[] args) {
		
		Multiply m1 = new Multiply();
		
		m1.c1(10, 20);
		m1.sum();
		m1.Multiply();
		
		
	}
	
}

class Calcultor{
		int a;
		int b;
		
		public void c1(int a, int b) {
		this.a = a;
		this.b = b;
		
	}
		
		public void sum() {
			System.out.println(a+b);
		}
}





 

package calss;

class Multiply extends Calcultor{
	
	public void sum() {
		System.out.println("sum은 결과는 : " + a + b); // class Calcultor의 클레스를 상속받은후 오버로딩 했다.
	}
	
	public void Multiply() {
		System.out.println(a*b);
	}

}

 

 

이것의 실행값은

  • sum은 결과는 : 1020
  • 200

이며 class Calcultor의 sum()메소드가 아닌 class Multiply가 Calcultor 클레스를 상속받은 이후 오버라이딩한 결과값인 

< sum은 결과는 : " + a + b > 가 출력된다.

 

 

오버로딩이란 상속받은 부모 클래스의 메소드 내용을 변경 및 수정해서 다시 사용하는것이다.

그러므로, 자손클래스는 부모블래스의 메소드 이름, 매개변수,리턴 타입이 같아야한다.

 

용어설명

오버로딩 : 자식클레스가 부모클레스로부터 상속받은후 메소드 내용을 자신에게 맞게 변경후 사용하는것

 

 

 

728x90

'Coding (코딩) > Java (자바)' 카테고리의 다른 글

오버로딩 (Overloading)  (0) 2020.09.15
생성자 (Constructor)  (0) 2020.09.14
상속 (Inheritance)  (0) 2020.09.08
객체지향적인 언어 ( Object Oriented Programming - OOP)  (0) 2020.09.06
10. 배열 (Array)  (0) 2020.08.30

관련글 더보기