티스토리 뷰
상속(Inheritance)
이번 시간에는 상속(Inheritance)에 대해서 알아보려고 한다. 상속은 기존의 클래스를 재사용해 새로운 클래스를 만드는 것이 상속이며, 이러한 특징으로 적은 양의 코드로 새로운 클래스를 만들수 있으며 코드를 한번에 관리할 수 있다. 상속을 해주는 클래스는 상위 클래스(super class), 상속을 받는 클래스를 하위 클래스(sub class)라고 한다. 상위 클래스는 보통 부모 클래스(Parent class), 하위 클래스는 자식 클래스(Child class)라고 부른다.
상위 클래스(Super Class) - 부모 클래스(Parent Class), 기반 클래스(Base Class)
하위 클래스(Sub Class) - 자식 클래스(Child Class)
중요키워드
extends
사용 방법
사용 방법에서는 코드와 결과 내용을 확인 후 간단하게 설명하려고 한다.
기본 사용 방법
class Parent {} class Child extends Parent {}
코드 및 실행 결과
public class Hello { public static void main(String[] args) { Child c = new Child(); c.parentOut(); c.childOut(); } } class Parent { int age = 70; public void parentOut() { System.out.println("Parent Class"); } } class Child extends Parent { public void childOut() { System.out.println("age = " + age); } } 코드 실행 결과 Parent Class age = 70
설명
Child 클래스에는 age가 없지만 Parent클래스로부터 상속 받았기 때문에 70이라는 결과가 발생한다. (변수 및 메서드가 보이지는 않지만 변수가 존재하는것이다.)
- Child 클래스에는 parentOut() 메서드가 없지만, Parent클래스로부터 상속 받았기 때문에 출력이 가능하다.
- Child에 멤버변수 및 메서드를 추가할 경우 부모 클래스에서는 사용할 수 없다.
특징
다중 상속이 불가능 하다.
- Child는 Parent 클래스로부터 상속 받았기 때문에, 다른 클래스로부터는 상속을 받을 수 없다.
자식(Child) 클래스는 부모(Parent)클래스에 존재하는 멤버변수 및 메소드를 모두 상속 받는다.
위에 설명 3번째에서 정리한 것을 추론해보면 자식클래스는 부모 클래스보다 멤버변수가 많거나 같다는 것을 알 수 있다.
부모 클래스의 변화는 자식 클래스에 영향을 바로 미친다.
반대로 자식 클래스의 변화는 부모 클래스에게 영향을 주지 못한다.
위에 정리한 내용 외에 상속에 관한 내용은 훨씬 많다. 일단 기본적인 내용을 이해한다면 상속에 대해서 자세하게 공부할 때 더 빨리 정확하게 이해할 수 있다고 생각한다.
'JAVA' 카테고리의 다른 글
[자바(JAVA)] 래퍼클래스(Wrapper Class) (0) | 2017.07.23 |
---|---|
[자바(JAVA)] 인터페이스(Interface) (0) | 2017.07.20 |
[자바(JAVA)] Properties 클래스 (0) | 2017.06.28 |
[자바(JAVA)] 오버로딩(Overloading) / 오버라이딩(Overriding) (0) | 2017.06.28 |
[자바(JAVA)] 생성자란 무엇인가? (0) | 2017.06.27 |
- Total
- Today
- Yesterday
- extends
- Model2
- overriding
- 자식클래스
- keySet()
- 오버로딩
- 오토박싱
- override
- HttpMethod
- constructor
- 오버라이딩
- 상속
- Post
- MVC
- Properties
- mvc 패턴
- Unboxing
- 부모클래스
- wrapper
- 래퍼클래스
- autoboxing
- overloading
- java
- HashMap
- 자바
- MVC아키텍처
- parent
- Boxing
- inheritance
- 생성자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |