본문 바로가기

언어 기초/JAVA

[자바의정석 | Chapter 07 객체지향 프로그래밍2] 상속

1. 학습목표

상속의 의미에 대해 이해할 수 있다.

2.필요 개념 문장정리

상속

  • 상속은 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 부모의 필드, 메서드, 클래스를 받을 수 있다.
  • 상속을 받는다는 것은 조상클래스를 확장한다는 의미로 해석할 수도 있다.
  • 상속의 장점은 코드의 중복을 제거하는 것도 있지만 다형적인 표현을 가능하게 한다는것이 가장 큰 장점이다.
  • 다중상속은 불가능하지만 자식클래스는 여러개가 가능하다.
  • 자식 객체가 생성되면 부모 객체부터 생성되고 추가로 정의된 객체가 저장된다.
  • 부모의 생성자는 상속되지 않는다.  

유튜브 - Do it 자바 완전정복

 3. 코드작성

class Tv {
	boolean power; // 전원상태(on/off) 
    int channel; //채널

	void power (){
    	power = !power;
    }
    void channelUp() {
    ++channel;
    }
	void channelDown () {
	--channel;
}

class CaptionTv extends Tv {
	boolean caption; // 캡션상태(on/off) 
    void displayCaption(String text) {
		if(caption) { //캡션상태가 on(true)일때만 text를 보여준다. 
        	System.out.println(text);
        }
    }
}   
			
class CaptionTvTest {
	public static void main (String args[]) { 
 		CaptionTv ctv = new CaptionTv(); 
        ctv.channel = 10; // 조상클래스로부터 상속받은 멤버
        ctv.channelUp() // 조상클래스로부터 상속받은 멤버
		System.out.println(ctv.channel);
		ctv.displayCaption ("Hello, World");
		cvt. caption= true; / /캡션(자막)기능을다.
		ctv.displayCaption ("Hello, World")
    }
}

실행결과
11
Hello, World
    자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다.

4. 마무리

상속에서 중요한점은 다형성의 표현이 가능하다는 것이다. 그리고 화살표 방향으로 문장이 만들어지며 코드로 이해할 수있어야 한다. 

책속의 문장들이 프로그램에서 구현될때 어떤 이미지로 진행되는지 이해하고 넘어가는 것이 중요하다는 것을 알았다.

앞으로는 책속문장들을 이해하기 위해 좀더 많은 참고자료와 예시를 사용해야겠다.