inblog logo
|
gyul
    자바 (JAVA)

    [자바 (JAVA)] 43. 인터페이스

    귤's avatar
    귤
    Feb 17, 2025
    [자바 (JAVA)] 43. 인터페이스
    Contents
    인터페이스 특징인터페이스 장점 및 사용 이유
    💡
    • 구체적인 것을 만들기 전에 하는 것
    • ex) 사용 정의서, 갑과 을의 약속 등

    인터페이스 특징

    💡
    ✅ 인터페이스는 interface 키워드를 사용하여 정의
    ✅ 인터페이스는 상수와 추상 메소드로 구성되어 있다.
    ✅ 인터페이스 안의 모든 상수는 public static final 타입 (생략가능)
    ✅ 인터페이스 안의 모든 추상메소드는 abstract public 타입 (생략가능)
    ✅ 추상 클래스와 마찬가지로 인스턴스를 생성할 수 없다.
    ✅ 인터페이스는 래퍼런스 변수의 인터페이스 타입으로 사용될 수 있다.
    ✅ 인터페이스는 다른 인터페이스를 extends 키워드로 상속 받을 수 있으며, 다중 상속 (다중 - implements)이 가능하다.
    ✅ 클래스에서 인터페이스의 구현은 implements 키워드를 사용하여 구현할 인터페이스를 지정 후, 추상 메소드를 모두 오버라이드 하여 기능을 구현해야 한다.

    인터페이스 장점 및 사용 이유

    💡
    ☑️ 인터페이스는 협업을 용이하게 한다.
    ☑️ 변경, 교체에 용이하다. (OCP)
    ☑️ 다중 상속을 가능하게 한다.
    package ex07.ch01; /* 삼성 리모컨, 엘지 리모컨 기능 : on, off */ interface Remocon { // interface는 무조건 public // 추상 메소드는 무조건 public abstract 임 public abstract void on();//public abstract 이게 회색인 이유 : 생략 가능해서. void off(); } class SamsungRemocon implements Remocon { @Override public void on() { System.out.println("삼성 리모컨 ON"); } @Override public void off() { System.out.println("삼성 리모컨 OFF"); } } class LGRemocon implements Remocon { @Override public void on() { System.out.println("엘지 리모컨 ON"); } @Override public void off() { System.out.println("엘지 리모컨 OFF"); } } public class Inter01 { static void start(Remocon r) { r.on(); } public static void main(String[] args) { Remocon sam = new SamsungRemocon(); Remocon lg = new LGRemocon(); start(sam); start(lg); } }
    notion image
     
    Share article

    gyul

    RSS·Powered by Inblog