상속의 정의
상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속은 부모 클래스의 메서드나 변수를 자식 클래스가 물려받게 된다. 이렇게 하게 되면 보다 적은 코드로 클래스를 작성할 수 있고 코드를 공통적으로 관리 할 수 있다.
상속 용어
상속을 구현하는 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* * child, parent 클래스가 있다. * child 가 parent 를 상속받으려 할 경우 * child 뒤에 'extends' 라는 키워드를 적고 * 상속받고자 하는 클래스명을 적으면 된다. */ class child extends Parent { / /..... } // ※ 주의점 // 자바는 단일 상속만 지원한다. | cs |
클래스간의 관계
- has a 관계 : 특정 객체 내에 다른 객체를 가지고 있는것 / '~은 -를 가지고 있다.' (포함관계)
- is a 관계 : 특정 객체가 다른 객체에가 자신의 기능을 포함시켜 주는것 / '~은 -이다' (상속관계)
<상속관계 그림>
[예제]
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 32 33 34 35 36 37 38 39 | public class CaptionTvTest { public static void main (String[] args) { CaptionTV ctv = new CaptionTV(); ctv.channel = 10; // 부모 클래스로 부터 상속받은 변수 ctv.channelUp(); // 부모 클래스로 부터 상속받은 메서드 System.out.println(ctv.channel); ctv.displatCaption("Hellow world"); ctv.caption = true; // 캡션기능 on // 캡션을 화면에 출력 ctv.displatCaption("Hellow, world"); } } class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTV extends Tv { boolean caption; // 캡션상태 on,off - 초기상태 false void displatCaption(String text) { if(caption) System.out.println(text); } } | cs |
[실행결과]
1 2 | 11 Hellow, world | cs |
'코딩 > Java' 카테고리의 다른 글
자바와 오라클 연동하기 <1> - JDBC 드라이버 (4) | 2016.09.28 |
---|---|
오버라이딩(Overriding) (0) | 2016.09.20 |
자바 - 접근제어자 (3) | 2016.09.12 |
객체지향 3부 - 오버로딩, 생성자 (0) | 2016.09.11 |
객체지향 2부 - 변수, 메서드 (0) | 2016.09.10 |