Java - 개념정리 5
2022. 4. 5. 16:30ㆍJava
반응형
추상클래스와 인터페이스
규칙
abstract 사용
- new를 통해 객체의 직접 생성이 불가능하다
interface의 method와 같이 구현 부분은 없다
- 반드시 자식 클래스에서 구현해야 한다
- overriding
인터페이스
규칙
- 다른 클래스를 작성하는 데 도움을 줄 목적으로 작성
- 멤버 변수는 public static final을 사용 & 생략 가능하다
- 메서드는 public abstract를 사용 & 생략 가능하다
public static final
- 인터페이스의 변수는 아무 인스턴스도 존재하지 않는 시점이기 때문에 스스로 초기화 될 수 없다.
- 즉, 초기화한 값을 끝까지 유지하기 위한 목적이다.
다중 상속
- 인터페이스로부터의 상속만 가능
- 자식 인터페이스: 부모 인터페이스에 정의된 멤버 모두를 상속받는다
중첩 클래스와 중첩 인터페이스
- 클래스 내부에 선언한 클래스, 인터페이스
// 중첩 클래스
public class ClassName {
class NestedClass {
...
}
}
// 중첩 인터페이스
public class ClassName {
interface NestedInterface {
...
}
}
중첩 클래스 종류
- 내부 클래스 (Inner Class)
- 하나의 클래스 안에 다른 클래스 정의
- 특징
- 중첩되는 클래스는 한 개 이상 가능
- 일반적인 중첩클래스 내부에서는 static과 관련된 멤버 선언 불가
- 정적 내부 클래스 (Static Inner Class)
- static 관련된 멤버를 선언할 수 있는 내부 클래스
- 특징
- 클래스 이름 앞에 static이 붙음
- 객체를 독립적으로 사용 가능
- static 멤버, method를 만들어 사용할 수 있음
- 지역 클래스 (Local Class)
- 특정한 메소드에 한정적인 용도로 사용
- 특징
- 접근제한자와 지정 예약어 사용 불가
- static 멤버 선언 불가
- 객체 생성 : 외부 불가능, 내부 가능
- 익명 클래스 (Anonymous Class)
- 기존에 있는 클래스의 특정 메소드 Overriding -> 사용자가 재정의하여 사용
- 특징
- class 예약어와 클래스명 없음
- 생성자 작성 불가
- 외부 멤버 중 final만 포함 가능
728x90
반응형
'Java' 카테고리의 다른 글
Java - 개념정리 7 (0) | 2022.04.07 |
---|---|
Java - 개념정리 6 (0) | 2022.04.07 |
Java - 개념정리 4 (0) | 2022.04.05 |
Java - 개념정리 3 (0) | 2022.04.05 |
Java - 개념정리 2 (0) | 2022.04.05 |