-
Java-클래스, 인터페이스TIL 2025. 2. 26. 18:08
인터페이스?
인터페이스는...
● 최소한의 규격을 정의한다.
● 세부 구현을 각 클래스에 맡긴다.
● 일관성을 유지하면서 클래스가 고유한 특색을 확장 할 수 있도록 돕는다.
하지만, 설계도에 매일 같은 이름을 반복 작성하는건 너무나 귀찮은 일이다.
Disk가 지금까지 발전해왔지만 변하지 않는 기능이라면 데이터 읽기/쓰기 이다.
package chapter2.usbexample; public interface Disk { //공용 기능 void dataRead(); void dataWrite(); void capacity(); }
이걸 한번만 작성하고, 상속한다면 disk가 기본이고 USB외 다른 제품에 사용할때 일일이 함수명을 적는 것은 크게 줄을 것이다.
Usb class 뒤에 implements Parts하면 Disk에있는 함수를 공용으로 사용 할 수있다.
이제 이걸 기준으로 USB를 만들어 보자.
package chapter2.usbexample; public class Usb implements Disk{ String type = "Local Disk"; String systemName = "NTFS"; String connectionType = "USB Direct"; String brand; // 브랜드 (예: 삼성, 샌디스크) String version; // USB 버전 (예: 2.0, 3.0) int capacity; // 용량 (예: 16GB, 32GB) int usedCapacity; //사용중인 용량 int freeCapacity; // 남은 용량 int securityKey; Usb() { } //Custom Function void unlockUSB() { } void backupData() { } void productInfo(){ } void connect() { System.out.println(brand + " USB가 연결되었습니다."); } void eject() { System.out.println(brand + " USB가 안전하게 제거되었습니다."); } @Override public void dataRead() { } @Override public void dataWrite() { } @Override public void capacity() { } }
'TIL' 카테고리의 다른 글
[TIL] 2025 03 17 (0) 2025.03.17 [TIL]2025 03 13 (0) 2025.03.13 [TIL] 2025 03 11 (0) 2025.03.11 [TIL] 2025 03 10 (0) 2025.03.10 Java - 클래스, 캡슐화 (0) 2025.02.26