티스토리 뷰

Algorithm/Java

자바 기본편 - 상속

JJIINDOL 2023. 2. 21. 23:30

✨ 상속이란?

 - 상속이란 기존의 클래스에 기능을 추가하여 재정의하여 새로운 클래스를 정의하는 것을 의미한다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아, 새로운 클래스를 생성할 수 있다. 이때 기존에 정의되어 있던 클래스를 부모 클래스 또는 상위 클래스라고 하고, 상속을 통해 새롭게 작성되는 클래스를 자식 클래스 또는 하위 클래스라고 한다.

 

✨ 상속의 장점

 1. 기존에 작성된 클래스를 재활용할 수 있다.

 2. 자식 클래스 설계 시 중복되는 멤버를 미리 부모 클래스에 작성해 놓으면, 자식 클래스에서 해당 멤버를 작성하지 않아도 된다.

 3. 클래스 간의 계층적 관계를 구성함으로써 다형성의 문법적 토대를 마련한다.

 

✨ 형식

class 자식클래스이름 extends 부모클래스이름 { ... }

 

>> 자식 클래스에는 부모 클래스의 필드와 메소드만 상속되며, 생성자와 초기화 블록은 상속되지 않는다.

>> 부모 클래스의 접근 제어자가 private이나 default로 설정된 멤버는 자식 클래스에서 상속받지만 접근할 수 없다.

 

 

✨ 코드에 적용

 - 먼저 일반 Camera 클래스를 만들어준다. 사진 촬영과 동영상 녹화 기능을 하는 메소드를 만들어 주고, 자식 클래스로 FactoryCam과 SpeedCam 클래스를 만들어 일반 Camera 클래스의 기능을 상속 받도록 한다.

 

public class Camera { // 부모 클래스

	public String name;
	
	public Camera()	 {
		this.name = "카메라";
	}
	
	public void takePicture() {
		System.out.println(this.name + " : 사진을 촬영합니다.");
	}
	public void recordVideo() {
		System.out.println(this.name + " : 동영상을 녹화합니다.");
	}
}

Camera 클래스 생성. 두 가지의 기능을 가지고 있다.

 

public class FactoryCam extends Camera { // 자식 클래스
	
	
	public FactoryCam() {
		this.name = "공장 카메라";
	}

	public void detectFire() {
		 System.out.println("화재를 감지합니다.");
	}
}

FactoryCam은 부모 클래스의 기능을 상속 받고 추가로 화재 감지 기능을 가지고 있다.

 

public class SpeedCam extends Camera { // 자식 클래스

	public SpeedCam() {
		this.name = "과속단속 카메라";
	}

	public void checkSpeed() {
		System.out.println("차량의 속도 측정");
	}

	public void recLicense() {
		System.out.println("차량의 번호 인식");
	}
}

 SpeedCam 역시 부모 클래스의 기능을 상속 받고, 차량 속도 측정과 번호 인식이라는 기능을 추가로 가지고 있다.

 

>> SpeedCam과  FactoryCam에는 takePicture(), recordVideo() 기능이 없지만 부모 클래스로부터 물려 받아 그 기능을 가지게 되었다. 최종 출력 결과는 다음과 같다. 

 

'Algorithm > Java' 카테고리의 다른 글

9장 퀴즈  (0) 2023.07.03
자바 기본편 - 7장 퀴즈  (0) 2023.03.04
자바 기본편 - 접근 제어자  (0) 2023.02.20
자바 기본편- Getter 와 Setter  (0) 2023.02.18
자바 기본편 - 용어 정리  (0) 2023.02.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/09   »
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
글 보관함