티스토리 뷰
[주제]
- 클래스의 상속 방식, Over Ride
[중요]
1. 상속
- 자식 클래스의 생성자가 호출될 때 부모 클래스의 생성자가 먼저 호출됨
- 상속 방법: 클래스 오른쪽에 'extend 부모 클래스이름' 추가
- 클래스는 다중 상속 불가
- 인터페이스는 다중 상속 가능
2. Over Ride
- 기존에 사용되는 메소드를 동일한 이름으로 내용만 재정의
- 부모 클래스의 메소드를 자식 클래스에서 재정의 하는 것을 의미
- 자식 클래스에서 'super' 사용 시 부모 클래스의 메소드를 사용
[소스]
■ carClass.java
package sample03.Car; public class carClass { protected int speed; // 'protected' 자식 클래스는 사용 가능 public carClass() { speed = 0; System.out.println("carClass 생성자"); } public carClass(int speed) { this.speed = speed; } public void accele() { speed = speed + 5; } public void brake() { speed = speed - 5; } public void stop() { speed = 0; } public void disp() { System.out.println("현재 속도 = " + speed); } } | cs |
■ CarA.java
package sample03.Cars; import sample03.Car.carClass; public class CarA extends carClass{ /* * [상속] * 자식 클래스의 생성자가 호출될 때 부모 클래스의 생성자가 먼저 호출됨 * 상속 방법: 클래스 오른쪽에 'extend 부모 클래스이름' 추가 * - 다중 상속 불가 */ public CarA() { System.out.println("CarA 생성자"); } public void hybrid() { System.out.println("hybrid Car"); } } | cs |
■ CarB.java
package sample03.Cars; public class CarB extends CarA { public CarB () { super(); // 부모 클래스의 생성자 호출 } public void openRoop() { System.out.println("open Car"); } /* * [Over Ride] * 메소드의 재정의 * 부모 클래스의 메소드를 자식 클래스에서 재정의 하는 것을 의미 * * [자식 클래스에 부모 클래스에 사용된 동일한 메소드를 갖고 있을 경우] * 'super' 사용 시 부모 클래스의 메소드를 사용 * 'this' 사용 시 자신의 메소드를 사용 */ public void stop() { super.stop(); System.out.println("CarB stop()"); speed = 123; } } | cs |
■ mainClass.java
package sample03; import sample03.Car.carClass; import sample03.Cars.CarA; import sample03.Cars.CarB; public class mainClass { public static void main(String[] args) { carClass cclsbase = new carClass(); cclsbase.accele(); cclsbase.brake(); cclsbase.stop(); cclsbase.disp(); CarA cclsA = new CarA(); cclsA.accele(); cclsA.accele(); cclsA.brake(); cclsA.disp(); CarB cclsB = new CarB(); cclsB.accele(); } } | cs |
■ 실행결과
[첨부 파일]
'프로그래밍 언어 > Java(연습)' 카테고리의 다른 글
배열 리스트, 연결 리스트 (0) | 2016.05.11 |
---|---|
추상 클래스, 인터페이스 (0) | 2016.05.09 |
선수 관리 프로그램(스택 구조, 클래스 연습) (0) | 2016.05.05 |
야구게임(객체 지향 클래스 연습) (0) | 2016.05.03 |
constuctor(생성자) (0) | 2016.05.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RA
- ADODB
- 일기
- System
- SysUtils
- VCL
- 스택
- 문법
- 왕초보 영어회화 100일의 기적
- 영어
- 여행영어 100일의 기적
- 설명
- Delphi
- 독해
- 자료구조
- wfd
- 정렬
- 응용
- java
- 계산기
- 말하기
- tdataset
- 알고리즘
- 대상
- 작문
- 상황
- SWT
- Pte
- 교육센터
- Reference
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함