Java - 개념정리 5

2022. 4. 5. 16:30Java

반응형

추상클래스와 인터페이스

규칙

abstract 사용

  • new를 통해 객체의 직접 생성이 불가능하다

interface의 method와 같이 구현 부분은 없다

  • 반드시 자식 클래스에서 구현해야 한다
  • overriding

인터페이스

규칙

  • 다른 클래스를 작성하는 데 도움을 줄 목적으로 작성
  • 멤버 변수는 public static final을 사용 & 생략 가능하다
  • 메서드는 public abstract를 사용 & 생략 가능하다

public static final

  • 인터페이스의 변수는 아무 인스턴스도 존재하지 않는 시점이기 때문에 스스로 초기화 될 수 없다.
  • 즉, 초기화한 값을 끝까지 유지하기 위한 목적이다.

다중 상속

  • 인터페이스로부터의 상속만 가능
  • 자식 인터페이스: 부모 인터페이스에 정의된 멤버 모두를 상속받는다

중첩 클래스와 중첩 인터페이스

  • 클래스 내부에 선언한 클래스, 인터페이스
// 중첩 클래스
public class ClassName {
	class NestedClass {
    	...
    }
}

// 중첩 인터페이스
public class ClassName {
	interface NestedInterface {
    	...
    }
}

중첩 클래스 종류

  1. 내부 클래스 (Inner Class)
    • 하나의 클래스 안에 다른 클래스 정의
    • 특징
      • 중첩되는 클래스는 한 개 이상 가능
      • 일반적인 중첩클래스 내부에서는 static과 관련된 멤버 선언 불가
  2. 정적 내부 클래스 (Static Inner Class)
    • static 관련된 멤버를 선언할 수 있는 내부 클래스
    • 특징
      • 클래스 이름 앞에 static이 붙음
      • 객체를 독립적으로 사용 가능
      • static 멤버, method를 만들어 사용할 수 있음
  3. 지역 클래스 (Local Class)
    • 특정한 메소드에 한정적인 용도로 사용
    • 특징
      • 접근제한자와 지정 예약어 사용 불가
      • static 멤버 선언 불가
      • 객체 생성 : 외부 불가능, 내부 가능
  4. 익명 클래스 (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