Language/JAVA
[JAVA] 추상클래스/인터페이스 개념 ①
영보로그
2020. 7. 16. 17:38
반응형
클래스 종류 | 추상클래스 | 인터페이스 (추상 클래스를 확장) |
정의 | - 미완성된 클래스 => new를 사용해서 메모리 할당이 불가능 |
- 여러개의 클래스를 묶어서 인터페이스로 관리 (서로 다른 클래스에게 관계를 맺어준다) |
용도 | - 항상 상속을 내려서 하위 클래스에서 구현한 다음에 사용 - 제시만 한다 : 구현하는 내용이 프로그램마다 다를 수도 있다 ex) 1. 게시판을 만들어라 2. 게시판에는 글쓰기, 내용보기, 수정, 삭제, 찾기 |
1) 기능이 여러개로 나눠지는 경우 ex) 버튼 → 로그인, 취소, 퍼즐, 시작, 종료 2) 여러개의 클래스를 한개의 클래스로 제어할 때 |
= 내부클래스 => 맴버클래스 = 내부클래스 => 익명의 클래스 |
추상클래스 | 인터페이스 | |
상속 메소드 |
단일상속 | 다중상속 |
구현이 안된 메소드 구현이 된 메소드 |
구현이 안된 메소드만 가고 있다 | |
형식 | 추상클래스 public abstract class A { public abstract void display(); public void aaa() { } } |
인터페이스 public interface B { void display(); => public abstract void display(); void aaa(); => public abstract void aaa(); } |
맴버변수 | public abstract class A { private int a; } |
public interface B { int a; ==> error ===== 인터페이스가 가지고 있는 변수 => 상수형변수 int a; ==> publiv final static int a; => 변수 값을 지정 int a =10; } 단점 : 기능 설정 => 추가하면 모든 클래스가 error → 인터페이스, 추상클래스를 사용 ==> 상속 반드시 구현이 안된 메소드는 구현해서 사용 |
반응형