본문 바로가기
백엔드/Java

<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍

by 고구마는호박고구마 2021. 1. 12.

<객체지향 프로그래밍 37장~41장>

 

인터페이스란

 

  - 추상 메서드로만 이루어 져있다 (쓸수 있는게 없어서 new 불가능)

  - 어떤 역할을 하는 객체인지 알려주는 설명서 같은 느낌 ( 설계 단계 )

  - 상수도 선언 가능

 

인터페이스는 점으로 된 화살표가 정의됨. 추상클래스에서 인터페이스를 받아서 생성가능.

 

Calc Interface

 

Calculator추상클래스

 

CompleteCalc class

 

인터페이스를 활용한 다형성 구현

 

  - 인터페이스는 여러개를 상속 받을수 있다.

    (추상클래스는 하나만 상속됨)

 

  - 인터페이스를 구현해 놓은 다양한 객체를 사용함 . - 다형성 

     : JDBC를 구현한 오라클, MSSQL 라이브러리 등

 

방식들을 인터페이스로 먼저 구현을 합니다.

 

                                                      스케쥴 인터페이스

interface로 컴파일시 .class로 저장이된다.

 

-상담원 순서대로

 

-업무가 없는 상담원에게

 

-우선순위가 높은 상담원에게

 

 

 

인터페이스의 요소들

 

 상수 : 선언된 모든 변수는 상수로 처리됨

 메서드 : 모든 메서드는 추상 메서드

 

 디폴트 메서드 : 기본 구현을 가지는 메드 

                      구현하는 클래스에서 재정의 할 수 있음 (java 8)

 정적 메서드 : 인스턴스 생성과 상관없이 인터페이스 타입으로 호출하는 메서드 (java8)

 private 메서드 : 인터페이스 내에서 사용하기 위해 구현한 메서드 

                      구현하는 클래스에서 재정의 할 수 없음 (java9)

 

 

 여러개의 인터페이스 구현하기

 

   -인터페이스는 구현 코드가 없으므로 하나의 클래스가 여러 인터페이스를 구현 할 수 있다.

   -디폴트 메서드의 이름이 중복되는 경우에는 재정의 한다.

   - (인터페이스 끼리 상속도 가능하다)

 

 인터페이스 구현과 클래스 상속 함께 사용하기

 

 

스태틱으로 해서 인터페이스의 타입으로 가져다 쓸수 있게 하자

 

인스턴스 상관없이 Calc타입으로 실행을 할 수 있다.

 

 

댓글