오늘은 상속(Inheritance)의 장점과 특징 그리고 선언 방법에 대해 알아보도록 하겠습니다!
먼저 객체 지향의 상속이란 부모클래스에 만들어진 필드, 메소드를 자식 클래스가 물려 받는 것을 말합니다.
마치 부모의 생물학적 특성을 물려받는 유전과 유사합니다.
그래서 동일한 특성을 재정의할 필요가 없어 자식 클래스가 간결해집니다!
이제 상속의 편리한 사례에 대해 알아보도록 하겠습니다.
위에 안의 박스는 현재 상속이 없는 경우입니다.
보시는 바와 같이 상속이 없는 경우 '말하기', '먹기', '걷기', '잠자기' 라는 중복된 멤버를 가지게 됩니다.
하지만 이 중복되는 멤버를 따로 클래스로 작성하여 상속을 이용한다면..!?
중복이 제거되고 간결해진 클래스 구조를 볼 수 있습니다.
이처럼 객체 지향에서의 장점은
첫번째, 멤버의 중복 작성이 불필요하여 클래스가 간결해진다는 것입니다!
두번째, 클래스들이 계층적으로 이루어져 있어 클래스 관리에 용이하다는 것입니다.
세번째, 클래스의 재사용과 확장이 용이하고, 새로운 클래스의 작성 속도가 빠르기 때문에 소프트웨어의 생산성이 향상된다는 것입니다.
이제 자바에서 상속을 선언하는 법에 대해 알아보도록 하겠습니다.
public class Person {
...
}
public class Student extends Person { // Person을 상속받는 클래스 Student 선언
...
}
public class StudentWorker extends Student { // Student를 상속받는 StudentWorker 선언
...
}
+ 여기서 부모클래스는 슈퍼 클래스로 불리기도 합니다.
또한 자식 클래스도 서브 클래스로 불립니다!
상속 선언을 할 때는 extends라는 키워드를 사용 합니다.
이것은 클래스를 확장한다는 개념을 가지고 있습니다.
이제 자바의 상속의 특징에 대해 알아보겠습니다.
먼저 상속은 클래스의 다중 상속 지원을 하지 않습니다.
엄마가 2명이면 안되는 것처럼 클래스도 2개 이상의 부모 클래스를 가지지 못합니다!
그 다음 상속은 무제한으로 할 수 있습니다.
밑에 보이는 사진과 같이 상속은 무제한으로 가능합니다.
그리고 상속의 최상위 조상 클래스는 java.lang.Object 클래스입니다!
모든 클래스는 자바 컴파일러에 의해 자동으로 java.lang.Object를 상속을 받게 됩니다!
여기까지 자바 상속의 특징과 장점 그리고 선언방법에 대해 알아보았습니다!
도움이 되셨길 바랄게용
'Programming > JAVA' 카테고리의 다른 글
[Java] 자바에서 다양한 데이터 구조에서 길이를 가져오는 메서드 (0) | 2024.03.29 |
---|---|
[Java] Java에서 정수를 문자열로 변환하는 방법 (0) | 2024.03.29 |
[Java] n진법 변환 하는 법(n진수 ↔ 10진수) (0) | 2023.04.15 |
[Java] GUI 윈도우창 만들기_JFrame (0) | 2022.12.30 |
3. 2차원 배열 (0) | 2022.10.28 |