📘상속의 개념과 활용
- 상속의 효과
- 부모 클래스를 재사용하여 자식 클래스를 빨리 개발할 수 있다.
- 반복되는 코드의 중복을 줄이고 유지 보수가 편하며 객체 다향성 구현이 가능하다.
🧩extends
- 자식 클래스가 부모 클래스를 상속받을 때 사용하는 키워드이다.
class Person{
String name;
int age;
}
class Student extends Person{
public void set(){
name = "유엠씨";
age = 5;
}
}
public class Main {
public static void main(String[] args) {
Student student = new Student();
student.set();
}
}
📘인터페이스란?
- 인터페이스의 역할
- 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할을 하는 일종의 추상클래스이다.
- 개발 코드가 객체에 종속되지 않게한다.
- 개발 코드 변경없이 리턴값 또는 실행내용이 다양해 질 수 있다. (다형성)

🧩implements
public interface RemoteControl{
int MAX_VOLUME = 10;
int MIN_VOLUME = 0;
void turnOn();
void turnOff();
default void setMute(boolean mute){
if(mute){
System.out.println("무음 처리합니다.");
}else {
System.out.println("무음 해제합니다.");
}
}
static void changeBattery() {
System.out.println("건전지를 교체합니다.");
}
}
public class Audio implements RemoteContol {
private int volume;
public void turnOn(){
System.out.println("Audio를 킵니다");
}
public void turnOff(){
System.out.println("Audio를 끕니다.");
}
public void setVolume(int volume){
if(volume > RemoteControl.MAX_VOLUME){
this.volume = RemoteControl.MAX_VOULUME;
} else if(volume < RemoteControl.MIN_VOLUME) {
this.volume = RemoteControl.MIN_VOULUME;
} else {
this.volume = volume;
}
System.out.println("현재 Audio 볼륨 : " + volume);
}
}
public class RemoteControlExample {
public static void main(String argc[]) {
RemoteControl rc;
rc = new Audio();
rc.turnOn();
}
}
public class 구현클래스명 implements 인터페이스a, 인터페이스b{
//a와 b의 추상메소드의 실체 메소드 선언
}