생활코딩

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. 당당
    2023.04.23
  2. 자바뿌시기
    23.01.07
  3. 보통사람 박코딩
    할수있다
  4. 코딩드림
    221107
  5. 제이드
    갑자기 인텔리제이로 바뀌었네요,,, 넵,,,,
  6. 상속. 부모클래스와 자식클래스

    자식클래스 extends 부모클래스

    부모클래스의내용을 확장해서 새롭게 기능들을 추가하거나 덮어쓰는 목적

    Overriding : 부모클래스의 내용을 덮어썼다, 올라탔다
  7. 코딩이취미다
    상속과 오버라이딩....
  8. 육도
    2022.05.14 완료
  9. 민영
    부모의 재산을 상속받다.
    오버라이딩
  10. 나연
    2022년 2월 22일 (화) 완료

    오버라이딩(Overriding) : 부모 클래스가 가지고 있는 메소드 재정의 (덮어쓰기)
  11. 열정jk
    220220 감사합니다
  12. 코딩새싹
    상속은 부모님의 기능을 물려받는 동시에 자식클래스에서 확장 할 수 있습니다.
    overriding이란? 자식클래스를 재정의한 것 ~
  13. 주간식당메뉴
    2021.12.01.
  14. 2021.09.02 완료
  15. 이마누
    완료
  16. Eunyoung Eunice Kang
    2021년 8월 14일 완료
  17. labis98
    20210814 good!!!
  18. super1Nova
    210808
  19. 초딩 개발자
    2021/07/18
  20. jeisyoon
    2021.05.03 기능의 개선과 발전 - OK
  21. Overriding
  22. 레이
    2021.04.18
  23. oyuiw
    20201213
  24. 자바가 무섭지 않은 예솔
    감사합니다!!
  25. 안광민
    overriding = 부모가 가진 기능을 재정의하는 것

    완료
  26. 싱와
    ------상속이 왜 필요한가?

    1억개의 코드가 있는 클래스에서 특정한 기능을 추가해야 하거나, 수정해야 하는 경우,
    일일히 찾아서 들어가기도 힘들고, 해당 클래스가 적용된 부분은 또 다 수정해야하는 경우..
    (지금까지 배워온 객체지향의 문제점에서 조금 더 확장 된 개념이라고 생각하면 이해가 쉬울 듯 하다.
    대부분의 객체지향에서의 문제점 발생은 수많은 코드에서 중간중간에 수정과 배포를 조금 더 편리하게 하기 위하여
    새로운 기술들이 발전했음을 알 수 있다.) 그래서 상속이라는 개념이 등장했다.

    ------상속의 구문 형태

    Class a extends b {} 의 구문 형태를 취한다.

    ------상속, 그리고 Override

    이전에는 Cal 클래스에서 Cal3 클래스로 단순히 확장의 개념이었다면
    이제는 Cal3 에서 이것 저것 해볼 수 있는 기회가 생겼다.
    단순히 확장의 개념을 넘어서, 기존의 클래스를 확장된, 상속받은 클래스에서 재정의 할 수 있는 기회도 부여 받게 된다.

    이런것을 OVERRIDE, 한마디로 올라 탔다는 건데,
    자식 클래스가 부모클래스에 등짝에 올라탔다는 것이다.
    그래서 자식 클래스에서 extends 를 이용해 확장(상속)된 것을 토대로 재정의 하는것을 override 라고 한다.
  27. 콜라
    감사합니다
  28. hyuna lee
    감사합니다. 오버라이딩은 상속받은것에 추가된 것이라고 할 수 있을까요.
  29. 빽토리얼
    상속(Interitance): 부모 클래스의 메소드 및 필드를 가져옴으로써 코드 중복을 줄일 수 있는 장점
    오버라이딩: 부모 클래스에 있었던 메소드를 자식 클래스에서 재정의(덮어쓰기)하면서 코드 변경 가능
  30. 넘무
    강의 감사합니다
  31. thebluerat
    2020년 6월 24일 수요일
    재정의하는 것(Overriding): 상속이 존재하는 근본적인 원인 중 하나
graphittie 자세히 보기