ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.