인터페이스

Korangii·2024년 6월 21일

Java

목록 보기
3/24
post-thumbnail

모든 클래스의 최상위 조상은 object이다.

클래스로 인터페이스 선언

인터페이스 선언은 class 키워드 대신 interface 키워드를 사용
접근 제한자로는 클래스와 마찬가지로 같은 패키지 내에서만 사용가능한 default

상수 필드

  • 인터페이스는 public static final 특성을 갖는 불변의 상수
  • 인터페이스에 선언된 필드는 모두 public static final 특성
  • public static final 생략 가능
  • 상수명은 대문자로 작성하되, 서로 다른 언어로 구성되어 있을 경우에는 언더바(_)로 연결

remote control
default가 public이다.
추상 메소드

디폴트 메소드

  • 인터페이스에는 완전한 실행 코드를 가진 디폴트 메소드를 선언할 수 있음
  • 추상 메소드는 실행부(중괄호{})가 없지만 디폴트 메소드는 실행부 있음
  • default 키워드가 리턴 타입 앞에 붙음
  • 디폴트 메소드의 실행부에는 상수 필드를 읽거나 추상 메소드를 호출하는 코드를 작성할 수 있음

정적 메소드

  • 구현 객체가 없어도 인터페이스만으로 호출할 수 있음
  • 선언 시 public을 생략하더라도 자동으로 컴파일 과정에서 붙음

private 메소드

  • 인터페이스의 상수 필드, 추상 메솓, 디폴트 메소드, 정적 메소드는 모두 public접근 제한을 가짐
  • public을 생략하더다고 항상 외부에서 접근 가능

인터페이스 상속

impl : implementation


다형성

  • 부모타입으로 자식 인스턴스를 운영할 수 있다.
  • 리스코프 치환 원리
  • tire가 인터페이스이기 때문에 new Tire();로 사용할 수 없다.
  • 결합도는 낮추고 응집도는 높여라.
  • 응집도를 높이려면, SRP(단일책임원칙)을 지켜야 한다.
  • OCP

나는 이번생은 섬세한 사람이다.
그냥 인정하고 나아가자.
조금 덜 상처받는 법, 그리고 힘듦에도 묵묵히 나아가는 것
생각보다 신경안씀
생각이랑 고민 덜기

  • upcasting : 자식클래스에서 부모 클래스로
  • downcasting :

객체 타입 확인
강건한 객체지향 설계원칙
SOLID
Single responsible
OPC
Lis코프
Interface 분리원칙
Dependency Inversion Principle


개방 폐쇄 원칙(Open-Cloesd Principle)

  • 기능확장에는 열려 있고, 변화에는 닫혀 있어야 함
  • 추상화와 다형성(상속)을 이용해서 구현

다중성 표현

집합관계
집약(aggregation) : 약결합 loosely-coupled
일반화는 상속

profile
https://honeypeach.tistory.com/ 로 이전했습니다.

0개의 댓글