Hi

추상클래스와 인터페이스의 차이점 본문

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());
	}
}


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

스택을 만들어보자  (0) 2018.03.29
Iterator의 순회  (0) 2018.03.28
Iterator  (0) 2018.03.28
SOLID  (0) 2018.03.28
컴퓨터 네트워크  (0) 2018.03.28