인터페이스가 가지는 객체지향 특징

GaramFlow·2023년 10월 20일
0

인터페이스가 가지는 객체지향 특징

  • 자바의 인터페이스에 대해서 알아본다.
  • 인터페이스에 반영되있는 객체지향 특징에 대해 알아본다.

1) 인터페이스 (Interface)

  • 만들어야되는 기능들을 관련된 것 끼리 묶어준 것을 인터페이스(Interface) 라고 한다.
  • 인터페이스는 기능 목록을 가지고 있는데, 해당 기능들이 선언만 되있다.
  • 자바의 인터페이스 자체는 객체를 생성할 수 없지만, 이를 구현한 클래스의 객체를 통해 사용할 수 있다.

2) 인터페이스가 가지는 객체지향 특징

(1) 추상화

  • 인터페이스는 구체적으로 구현되지 않고 기능만 선언되있다.
  • 특정 메소드를 선언해놓고 실제 구현은 인터페이스를 구현하는 클래스가 담당하게 된다.
interface Car {
	void run();
    void stop();
}

public class Bus implements Car {
    public void run() {
        System.out.println(“출발”);
    }

    public void stop() {
        System.out.prinln(“멈춤”);
    }
}

2) 다형성

  • 인터페이스를 클래스가 구현할 수 있다.
  • 하나의 인터페이스 타입으로 여러 구현체 참조가 가능하다.
class SuperCar implements Car {
	public void run() {
		System.out.println("SuperCar go~");
    }
	public void stop() {
		System.out.println("SuperCar stop!");
    }
}

3) 상속

  • Java에서 클래스 다중상속이 불가능하지만 인터페이스는 유사 다중상속처럼 이용 가능하다.
    • 한 클래스가 여러 인터페이스를 구현할 수 있다.
interface Runnable {
	void run();
}

interface Barkable {
	void bark();
}

class Dog implements Runnable, Barkable {
	public void run() {
		System.out.println("dog run");
    }
	public void bark() {
		System.out.println("dog bark");
    }
} 

2023/10/21 작성
2023/11/10 내용 구성 변경 및 추가

profile
간단한 지식 저장 및 공유를 위한 블로그입니다.

0개의 댓글