JAVA

DAY 11 ( 추상클래스, 인터페이스, MVC, jar 파일 추가, mp3 불러오기 실습 )

도키마 2024. 6. 3. 14:52

 

 

 

 

오늘의 노래 추천 🐥

 

 
FIRST LOVE
아티스트
EXO
앨범
LOVE ME RIGHT - The 2nd Album Repackage
발매일
1970.01.01

 

오늘 날이 좋아서.. ㅎㅎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

* 추상 클래스 *

Abstract class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

class 작성

 

 

 

 

 

 

 

 

추상 클래스

 

 

 

sub class 들이 무조건 구현해야하는 매서드를 정의하는 것이

추상메서드이고 추상메서드가 하나라도 있으면 그 class 는 추상클래스로 만들어줘야함

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* 인터페이스 *

Interface

 

 

 

 

 

 

 

 

 

 

 

 

 

보통 상속받을 때 그 기능이 확장됨

 

 

 

 

서로 다른 super class 에게 상속된 두개의 sub class 가 동일한 메서드를 사용하기 위함

 

* 일종의 통일된 가이드라인을 제공해 주는 것으로 생각할 수 있음

 

 

 

 

 

 

 

 

 

 

인터페이스 특징

 

 

 

 

https://limkydev.tistory.com/197

 

[JAVA] 자바 인터페이스란?(Interface)_이 글 하나로 박살내자

1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으

limkydev.tistory.com

 

링크참조

 

 

 

 

 

 

ㅡ interface 실습으로 알아보기 ㅡ

 

 

추상 클래스

 

 

default 메서드 구현

 

static final

 

 

구현할 class 생성

 

 

 

 

ㅡ> interface 의 추상메서드가 오버라이드됨

 

interface의 추상메서드가 오버라이드됨

 

 

 

ㅡ> interfacfe 의 default 메서드 오버라이드

 

default 메서드 오버라이드

 

 

 

 

 

 

Bus class

 

 

car class

 

 

 

Main class

 

출력

 

 

 

 

 

 

 

 

 

* 추상클래스와 인터페이스의 차이 *

 

 

 

 

 

 

추상클래스                                                            인터페이스

 

   1. 다른 클래스가 상속받을 수 있도록                      클래스가 구현해야하는 메서드명만 정의

공통 동작과 상태를 정의                                                                             

2. 단일 상속만 가능                                                     다중 구현 가능

        3. 인스턴스 변수와 메서드를 가질 수 있음            상수와 추상메서드만 가질 수 있음 (단, 디폴트 가능)

4. 일부 메서드는 추상메서드가 아니어도됨               디폴트 메서드 제외 모두 추상메서드

5. abstract / extends (상속)                                        interface / implement   

                   6. 상태를 가질 수 있음                              상수는 가질 수 있지만 상태를 가질 수 없음 

 

 

 

추상클래스와 인터페이스

 

 

다중 구현

 

Bus 라는 하나의 sub class 에 Vehicle, Light 라는 두개의 인터페이스를 다중 구현함

 

 

 

 

 

 

 

 

 

ㅡ interface 실습 ㅡ

 

 

 

 

 

 

가장 상위 클래스인 Creature 생성

Creature class

 

* protected 접근제한자 : 패키지 내 sub class 도 사용 가능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* MVC *

MVC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MVC 패턴

 

 

 

 

 


 

 

 

 

 

 

* model이란?

model

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mvc 패턴 적용

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* mp3 player 실습 *

음원 불러오기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jar 파일

 

 

 

 

 

jar 파일 불러오기

 

Build Path

 

 

Add External JARs

 

 

 

 

파일 추가됨

 

 

 

 

mp3 객체와 path 변수 생성

 

 

 

메서드 실행

 

 

 

 

 

 

 

 

 

 

 

노래 정보를 하나로 저장할 수 있는 music 클래스 생성

 

 

 

 

 

 

Music class 생성

 

 

 

main class 에 music 객체를 담아주기 위한 ArrayList 생성

 

 

main class