Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 칭기즈칸의 위대한 장군 수부타이
- 뉴 컨피던스
- kubernetes
- 수부타이
- try-with-resources
- node
- 모두가 기다리는 사람
- Infresh
- CSS
- sentry
- 레퍼런스 복사
- 이펙티브 자바
- apache kafka
- HTML
- docker
- 아웃풋법칙
- ESG
- 히든 스토리
- colllection
- 참조 계수
- 비메모리 자원
- try width resources
- 도파민형 인간
- 공헌감
- 월칙
- 과제의 분리
- 쿠버네티스
- java
- 부자의그릇
- Container
Archives
- Today
- Total
Hi
추상클래스와 인터페이스의 차이점 본문
추상클래스와 인터페이스의 차이점
=> 상태를 가질수 있다 없다.
추상 클래스는 부모가 기본적인 구현을 제공할 수 있다.
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 |