Programming/Java
추상클래스와 인터페이스의 차이점
SharingWorld
2018. 3. 28. 17:37
추상클래스와 인터페이스의 차이점
=> 상태를 가질수 있다 없다.
추상 클래스는 부모가 기본적인 구현을 제공할 수 있다.
import java.util.Iterator;
interface MP3 {
void play();
void stop();
// default(defender) method - Java 8
default void playOneMinute() {
play();
//...
stop();
}
}
interface MP4 {
default void playOneMinute() {
// play();
//...
// stop();
}
}
class Person {
public void playMusic(MP3 mp3) {
mp3.play();
}
}
class SmartPhone implements MP3, MP4 {
@Override
public void play() {
}
@Override
public void stop() {
}
@Override
public void playOneMinute() {
// MP3.super.playOneMinute();
MP4.super.playOneMinute();
}
}
class iPod implements MP3 {
@Override
public void play() {
}
@Override
public void stop() {
}
}
public class Sample_0326 {
public static void main(String[] args) {
Person person = new Person();
// person.playMusic(new SmartPhone());
person.playMusic(new iPod());
}
}