Programming/JAVA
추상화 (Abstract / Interface)
dev?
2022. 5. 5. 21:47
반응형
추상화 (abstract)
- 클래스를 상속받으면, 특정 함수를 강제로 만들도록 강제하는 것
(일반 클래스를 추상 클래스로 만드는 것을 추상화라고 한다
= 상속받은 자식 클래스에게 특정 함수를 강제로 만들게 하는 방법)
추상 클래스 (abstract class)
- 무조건 상속되어 사용하는 클래스
(추상 클래스를 상속받은 자식 클래스는 반드시 추상 메서드를 구현해야 한다)
- new로 객체 생성 불가능
(객체 생성 불가능을 제외하면 일반 클래스와 동일하다)
추상 메서드 (abstract method)
- 추상 클래스에 정의된 메서드
- 메서드의 내용이 정의되지 않은 형태의 메서드
- 반드시 오버라이딩해야만 사용 가능
사용 예제
abstract class Parent{
abstract void exam01(); // 추상 메소드
}
class Child extends Parent{
@Override
void exam01(){
}
}
인터페이스 (Interface)
- 추상 메서드로 구성된 추상클래스
(= 상속받는 자식클래스에서 강제적으로 함수를 만들게 함)
- new 객체로 생성 불가능
( 단독으로 사용 불가 = 상속되어야만 사용 가능 )
- 다중 상속 가능
사용 예제
interface Parent{
void method01();
void method02();
}
class Child implements Parent{
void method01(){
}
void method02(){
}
}
반응형