자바 기초 다지기 3

Jiyeong·2022년 12월 7일
0

JAVA

목록 보기
26/31

인터페이스

인터페이스 : 추상 메서드로 이뤄진 클래스
디폴트 / 정적 / private 메서드

인터페이스의 메서드 = public abstract로 추상 메서드
인터페이스의 변수 = public static final로 상수

클래스에서 인터페이스는 Implement
추상 클래스와의 차이 : abstract 키워드를 작성하지 않아도 됨
상위 클래스 혹은 인터페이스 이름 설정 이유 : 다형성 구현을 위해서

인터페이스의 기본 요소 : 상수, 추상메서드

디폴트 메서드

  • 재정의 가능
  • 인터페이스를 구현한 클래스를 공유할 수 있는 기본 메서드
  • 여러 인터페이스를 매번 구현하는 번거로움 방지

특징

  1. 인터페이스를 구현한 모든 클래스들 공유 가능
  2. 재정의 가능

정적 메서드

  • static 키워드로 메서드 구현 가능
	static int total(int[] arr){
		int total = 0;
		for(int i : arr){
			total += i;
		}
		return total;
	}
  • 인터스턴스 생성과 상관 없이 바로 사용 가능
  • 인터페이스 타입으로 사용

private 메서드

  • 자바 9부터 가능
  • 인터페이스를 구현한 클래스에서 사용하거나 재정의할 수 없음
  • 인터페이스 내부에서만 기능을 제공하기 위해 구현하는 메서드
  • private method의 static 메서드 -> 정적 메서드 사용 가능
  • private method의 일반 메서드 -> 디폴트 메서드 사용 가능

상속

extends 뒤에는 단 하나의 class만 사용 가능

인터페이스

구현 코드가 없음. 디폴트 메섣, 정적 메서드의 경우 생성 시 사용이 가능함. 바로 accept도 가능!
여러 개의 인터페이스 implements 가능~!

인터페이스 설계와 클라이언트 모듈 관계

모듈을 사용하는 클라이언트가 구현 여부 및 내용과 상관없이 메서드 기반으로 사용 가능

인터페이스 설계 -> 클래스 구현 -> Client Code 설계된 메서드 기반 사용

profile
깃스타가 되고 싶은 벨플루언서

0개의 댓글