생활코딩

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

    자식클래스 extends 부모클래스

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

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

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

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

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

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

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

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

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

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