728x90
반응형
추상 클래스
미구현 추상 메소드를 한 개 이상가지며, 자식 클래스에서 해당 추상 메소드를 반드시 구현하도록 강제하는 문법
상속받은 클래스는 추상 메소드를 구현하지 않아도, import할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생
추상 클래스의 장점
장점 | 설명 |
중복 코드 제거 | 상속을 통해 중복 코드를 줄일 수 있음 |
그룹화 | 자식 클래스를 그룹화가 가능 |
비 실존 객체 생성차단 | 비 실존 객체의 직접 생성을 차단하여 실수를 사전 방지 |
인터페이스
자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위한 문법
인터페이스는 일종의 추상 클래스임
오직 추상 메소드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않음
추상 클래스와 인터페이스의 공통점
추상 클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스임(선언부만 있고 구현부는 없음)
자기 자신이 new를 해서 객체를 생성할 수 없으며, 추상 클래스를 extends 받거나 interface를 implements한 자식만이 객체를 생성할 수 있으며 상속받은 자식이 구현을 반드시 하도록 해야 할 때 사용함
JAVA에서는 타입이 지정되었기 때문에 선언된 타입과 자식의 타입이 같아야 함
추상 클래스와 인터페이스의 차이점
상속을 받음에도 불구하고 클래스에선 상속(Inheritance)이라고 쓰지만, 인터페이스는 구현(Implements)이라고 씀
추상 클래스를 상속받는 클래스는 반드시 추상 메소드를 구현해야 하며 필수적으로 구현해야할 메소드가 있을 때 추상 클래스를 씀
인터페이스를 상속받는 클래스에서는 반드시 인터페이스에 있는 메소드를 다 구현해야 함
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
11.27(Call by value와 Call by reference) (0) | 2020.11.27 |
---|---|
11.26(Java와 JavaScript 차이점) (0) | 2020.11.26 |
05.08(Mini Project - 자바 스윙을 이용하여 게임 만들기3) (0) | 2020.05.08 |
05.07(Mini Project - 자바 스윙을 이용하여 게임 만들기2) (0) | 2020.05.07 |
05.06(Mini Project - 자바 스윙을 이용하여 게임 만들기1) (0) | 2020.05.06 |