학원/강의
*18일차 (추상클래스 / 인터페이스)
pringspring
2022. 2. 16. 14:46
@추상 클래스(abstract class)
*정의
-몸체 없는 메소드를 포함한 클래스
-추상 클래실 경우 클래스 선언부에 abstract 키워드 사용
*표현식
-[접근제한자] abstract class 클래스명 { }
@추상 메소드
*정의
-몸체({ })없는 메소드를 추상메소드라고 함
-추상 메소드 선언부에 abstract 사용
-상속 시 반드시 "구현" (강제 오버라이딩)
*표현식
-[접근제한자] abstract [리턴타입] 메소드명 { };
*특징
- 미완성 클래스(abstract 키워드 사용) 자체적으로 객체 생성 불가 → 반드시 상속해 객체생성
- abstract 메소드가 포함된 클래스 → abstract메소드 없어도 abstract 클래스 선언 가능
- 일반적인 메소드,변수 포함할 수 있다.
- 객체 생성은 안되나, 참조형 변수 type으로 사용 가능.
@인터페이스
*정의
-상수형 필드와 추상 메소드만 작성할 수 있는 추상 클래스의 변형체.
-메소드의 통일성을 부여하기 위해 추상메소드만 따로 모아 놓은 것.
-상속시 인터페이스 내에 정의된 모든 추상 메소드를 구현해야한다.
*표현식
*특징
-모든 인터페이스의 메소드는 묵시적으로 public이고 abstract이다.
-변수는 묵시적으로 public static final
-객체생성 X , 참조형 변수 ok
*장점
-상위 타입의 역할로 다형성을 지원하여 연결해주는 역할 수행
-해당 객체가 다양한 기능을 제공시에도 인터페이스에 해당하는 기능만을 사용하게 제한할 수 있다
-공통 기능상의 일관성 제공 / 공동 작업을 위한 인터페이스 제공
+)추가
+)API 끝난 후 작성예정