생활코딩

Coding Everybody

코스 전체목록

닫기

기능의 개선과 발전

 수업소개

상속 받은 클래스에 기능을 추가하고 수정하는 방법을 살펴봅니다 

 

 

강의

 

 

 

소스코드

https://github.com/egoing/java-inheritance/blob/master/src/InheritanceApp.java

class Cal{
    int v1,v2;
    Cal(int v1, int v2){
        System.out.println("Cal init!!");
        this.v1 = v1; this.v2 = v2;
    }
    public int sum(){return this.v1+v2;}
}
class Cal3 extends Cal{
    Cal3(int v1, int v2) {
        super(v1, v2);
        System.out.println("Cal3 init!!");
    }
    public int minus(){return this.v1-v2;}
}
public class InheritanceApp {
    public static void main(String[] args) {
        Cal c = new Cal(2,1);
        Cal3 c3 = new Cal3(2, 1);
        System.out.println(c3.sum()); // 3
        System.out.println(c3.minus()); // 1
    }
}

 

댓글

댓글 본문
  1. hyuna lee
    감사합니다. 오버라이딩은 상속받은것에 추가된 것이라고 할 수 있을까요.
  2. 빽토리얼
    상속(Interitance): 부모 클래스의 메소드 및 필드를 가져옴으로써 코드 중복을 줄일 수 있는 장점
    오버라이딩: 부모 클래스에 있었던 메소드를 자식 클래스에서 재정의(덮어쓰기)하면서 코드 변경 가능
  3. 넘무
    강의 감사합니다
  4. thebluerat
    2020년 6월 24일 수요일
    재정의하는 것(Overriding): 상속이 존재하는 근본적인 원인 중 하나
graphittie 자세히 보기