반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 거리알고리즘
- Singleton
- dart
- 플러터 동작
- Android
- 앱아이콘 변경
- Lazy
- 싱글톤
- dfs
- linebreak
- Kotlin
- 초기화
- IOS
- 프로그래머스
- flutter
- zwj
- 플러터
- 에러
- 재귀
- 코틀린
- Java
- element tree
- Render object tree
- Widget Tree
- 자료구조
- 프리즈드
- 비동기 처리
- 자바
- 완전탐색
- 알고리즘
Archives
- Today
- Total
모바일 개발하는 자바리안의 메모장
자바(JAVA) - 상속(inheritance) 본문
반응형
상속 관계에 있는 2개의 클래스는
부모 클래스(parent class), 자식 클래스(child class)로 나뉜다.
명칭 그대로, 상속을 해준 클래스가 부모 클래스,
그리고 받은 클래스가 자식 클래스다.
상속은 말 그대로, 물려받는 것을 의미한다.
그러므로, 부모 클래스의 정보(instance variable)와 기능(method)를 물려받는 것이다.
class Dog extends Animal { String sound = "멍멍"; } class Animal { boolean fromEgg; int numOfLegs; String name; public void hunt() { System.out.print("사냥 중"); } }
개는 동물에 포함되어 있으므로 위와 같이 상속관계가될 수 있다.
동물 클래스를 상속받은 개 클래스는 동물 클래스의 모든 기능 및 정보를 사용할 수 있게된다.
상속 관계 구현은 extends 예약어로 가능하다.
Dog 객체 자체는 hunt 메소드가 없어도, 상위 클래스가 같고 있기 때문에 언제든지 호출할 수 있다.
Dog ge = new Dog(); ge.hunt() // 부모 클래스(Animal)에 존재하는 hunt() 호출
자식 클래스는 부모 클래스의 메소드를 아래와 같이 호출할 수 있다.
super.hunt() // Dog 클래스 내부
개 클래스 외, 고양이, 너구리 등 여러 동물들의 클래스를 만들었단 가정 하에,
동물 클래스가 없었다면 우리는 각 클래스에 일일이 중복되는 기능과 인스턴스 변수를 추가해야했을 것이다. (넘나 편리한 것)
최대 1개 클래스를 상속 받을 수 있으며,
(부모 클래스에서)protected 접근 제어자 사용을 통해,
자식 클레스를 메소드, 변수 사용 허용 범위로 설정할 수 있다.
반응형
'Java > Java.study' 카테고리의 다른 글
자바(JAVA) - 스트링 메소드2(String method) (0) | 2016.08.08 |
---|---|
자바(JAVA) - 인터페이스(interface) (0) | 2016.08.06 |
자바(JAVA) - 생성자(constructor) (0) | 2016.08.04 |
자바(JAVA) - 로컬, 인스턴스 변수(local, instance variable) (0) | 2016.08.04 |
자바(JAVA) - 메소드(Method) (0) | 2016.08.04 |
Comments