자바 상속 정리!

kkjj·2022년 3월 6일
0

자바 상속에 대해서 내가 제대로 완벽하게 하지 못한거같아서 블로그에서 요약 정리를 올리기로했당.
이제 블로그에 자바 기초 나 spring mvc 올리면서 정리하면서 공부하기!

상속의개념

-객체 지향에서 상속은 부모클래스에 만들어진 필드와 메소드를 자식 클래스가 물려받는것!즉, 상속 선언만 하면 자식클래스는 부모 클래스에 만들어진 필드와 메소드를 만들지 않고도 만든것과 같은 효과를 얻는다!

여기서 짚고 넘어가야할점 ->
상속은 클래스 사이의 상속이지 객체 사이의 상속이 아니라는점이다. 다시말해, 자식 객체는 자식 클래스와 부모 클래스에 만들어진 모든멤버를 가지고 생성된다.

상속의 필요성 과 장점

  • 상속은 코드중복을 제거하여 클래스 를 간결하게 구현할수있게한다.
    why?) 코드를 물려 받기 때문에 멤버의 중복 작성 불필요
  • 클래스 관리가 용이 하다 -->클래스들의 계층적 분류
  • 소프트웨어의 생산성 향상 --> 클래스 재사용 과 확장 용이

자바의 상속 선언

  • 자바에서는 부모 클래스를 슈퍼클래스(super class) , 상속받느 자식 클래스르 서브클래스(sub class) 라고 부르며, 상속을 선언할때 확장한다는 뜻을 가진 extends 키워드를 사용한다

Ex)코드로 알아보기

public Class Person{
....
} -> 슈퍼 클래스
public Class Student extends Person{
//Person을 상속받는클래스 Student 선언
...
} -> 서브 클래스
public Class StudentWorker extendsStudent{
//Student를 상속받는 클래스 StudentWorker 선언
....
}

-> 위에 보시다시피 Student 클래스는 Person 클래스의 멤버를 물려 받으므로,Person 클래스에 선언된 필드나 메소드를 다시 반복하여 작성할 필요가 없고, 필드나 메소드를 추가 작성하면 된다. StudentWorker가 Student 를 상속받으면 Person클래스의 멤버도 자동 상속 받는다!

마지막으로 정리하기

자바의 상속과 관련하여 몇가지 특징을 정리하면 다음과 같다

  • 자바에서는 클래스의 다중상속을 지원하지않는다!
    why?) 자바는 클래스를 여러개 상속받는 다중 상속(multiple inheritance)을 지원하지 않는다. 그러므로 extends 다음에는 클래스 이름을 하나만 지정할수있따아
  • 자바에서는 상속의 횟수에 제한을 두지 않는다.
  • 자바에서 계층 구조의 최상위에 java.lang.Object클래스가 있다
    --> 사용자가 만들든 자바패키지에서 제공하든 , 자바에서 모든 클래스는 Object 클래스를 자동으로 상속받도록 컴파일 된다. Object 를 상속받도록 선언하지 않더라도 마찬가지입니당

끝마치면서 , 다음 글 의 주제는 자바 상속인데 코드예제를 포함하여 제대로 정리하기!

profile
백엔드

0개의 댓글