728x90
오버라이딩(Overriding)
부모가 가진 기능을 재정의(수정, 추가 등)하는 것을 오버라이딩(Overriding)
오버로딩(Overloading)
과적하다 의미. 상속과 관련x
부모클래스도 자식클래스도 오버로딩 가능. 자식 클래스는 부모 클래스를 오버라이딩, 오버로딩 둘 다 가능
자바는 형태만 다르면 같은 이름의 메소드를 같은 클래스 내에서도 여러개 사용 가능
ex)
class Cal11 {
public int sum(int v1, int v2) {
return v1+v2;
}
public int sum(int v1, int v2, int v3) { // 같은 이름 메소드 // int v3 추가
return v1+v2+v3;
}
}
전체코드
// Java 상속 - 2. 기능의 개선과 발전
class Cal11 {
public int sum(int v1, int v2) {
return v1+v2;
}
public int sum(int v1, int v2, int v3) { // 같은 이름 메소드 // int v3 추가
return v1+v2+v3;
}
}
class Cal33 extends Cal11{ // extends : Cal1을 상속
public int minus(int v1, int v2) {
return v1-v2; // Cal3는 이제 부모 클래스가 없는 마이너스 기능도 탑재
}
public int sum(int v1, int v2) {
System.out.println("Cal3!!");
return v1+v2;
}
}
public class Inheritance02 {
public static void main(String[] args) {
Cal11 c1 = new Cal11();
System.out.println(c1.sum(2,1));
System.out.println(c1.sum(2,1,1));
Cal33 c3 = new Cal33();
System.out.println(c3.sum(2,1));
System.out.println(c3.minus(2,1)); // 자식클래스에 추가된 minus기능
}
class Cal22 {
public int sum(int v1, int v2) {
return v1+v2;
}
public int minus(int v1, int v2) {
return v1-v2;
}
}
}
728x90
반응형
'JAVA > 생활코딩 JAVA 상속' 카테고리의 다른 글
Java 상속(Inheritance) - 6. 수업을 마치며 : 다형성(Polymorphism), 접근제어자, Final, Abstract (0) | 2022.02.06 |
---|---|
Java 상속(Inheritance) - 5. 상속과 생성자 (0) | 2022.02.06 |
Java 상속(Inheritance) - 4. this & super (0) | 2022.02.06 |
Java 상속(Inheritance) - 2. 기능의 개선과 발전 : 자식클래의 기능 추가 & 수정 (0) | 2022.02.06 |
Java 상속(Inheritance) - 1. 수업소개 : 상속의 정의 & 장점 (0) | 2022.02.05 |