ChangHoon's IT Blog
상속이란 본문
1. 상속의 기본
부모클래스(상위클래스 - super class) / 자식클래스(하위클래스 - sub class)
자식이 extends를 통해 부모를 결정한다.
객체 다형성 구현이 가능하기 때문에 중요한 개념이다!!!
2. 상속의 개념
상속이란?
-> 부모 클래스에서 정의된 필드와 메소드를 자식클래스가 물려받는것.
즉, 물려받는 것이라고 생각하기! ==> 상속은 추상화다!
*객체지향에서 상속이 필요한 이유!!!
1. 클래스간 계층적인 분류/관리가 용이함.
2. 부모클래스의 멤버(필드, 메소드)를 재사용함으로써 자식 클래스가 간결해진다.
3. 공통된 특징을 가지는 클래스 사이의 멤버(필드, 메소들)선언이 불필요하다.
3. 상속의 특징
1. 자바에서는 다중상속을 지원하지 않는다!!
-> extends 뒤에는 단 하나의 부모클래스만 올수 있다.
2. 자바에서는 상속의 횟수에 제한을 두지 않는다.
3. 자바에서 최상위 클래스는 Object클래스이다.
다시말해 Object 클래스만이 유일하게 super class를 가지지 않고 자바의 모든
클래스들은 Object 클래스의 자손이라고 볼수 있다.
public class Parent{
// 부모 클래스
....
}
public class Chile extends Parent{
// Parent를 상속받는 클래스 Child 선언
....
}
4. 상속, 그리고 접근지정자
접근지정자란?
-> 클래스의 멤버 각각에 외부에서 접근할 수 있는 범위를 지정하는 것.
public
모든 클래스에서 접근이 가능하다.
protected
같은 패키지 내에서 접근이 가능하고 다른 패키지에서도 상속을 받은 클래스 내부에서는
사용이 가능하다.
public과의 차이점은 다른 패키지의 자식 클래스 외부에서는 접근할 수 없다는 것.
default(package private)
같은 패키지 내에서만 접근이 가능하다.
private
동일 클래스 내에서만 접근이 가능한 가장 낮은 단계의 자유도를 갖음
참고자료
https://studymake.tistory.com/424
https://jinbroing.tistory.com/212
https://freedata.tistory.com/2
'Java' 카테고리의 다른 글
컬렉션이란?(Collection)[List, set, map] (0) | 2020.02.12 |
---|---|
while문과 do ~ while문의 차이 (0) | 2020.02.10 |
인터페이스란?(Interface) (0) | 2020.02.10 |
컴파일 언어와 인터프리터 언어 (0) | 2020.02.10 |