반드시 하나의 값만 가지게 될 변수들을 모아놓은 요일, 직업등 정해진 값 외에 바뀌지 않는 것들의 집합을 말한다. 이런 것들을 열거해서 한꺼번에 묶어 놓은 형태를 열거형이라 한다.enum 키워드로 표현하고, '이넘' 이라고 부른다.내부적인 구현은 enum -> java
일부 메소드가 구현되지 않고, 선언만 되어있는 클래스자식 클래스에서 이것을 반드시 구현하게끔 강제하는 것필요한 모든 클래스가 구현될 수 있도록 하여 안정성을 높이는 효과를 가져온다.일반 클래스의 공통적인 부분을 추출해 어느정도 규격(틀)을 잡아 놓는 추상적인 클래스이다
타입을 파라미터화해서 컴파일시 구체적인 타입이 결정되도록 하는 것 컬렉션, 람다식(함수적 인터페이스), 스트림 ,NIO에서 널리 사용된다.대상 객체의 타입을 입력받아서 사용하는 형식실행시 타입에러가 나는 것보다 컴파일시에 미리 타입을 강하게 체크해서 에러를 사전에 방지
클래스를 사용하는 방식, 접점만을 선언하는 클래스와 유사한 틀아무런 구현이 되어 있지 않으며, 모든 메소드가 추상 메소드이름 짓는 방법interface IFOO <- class Foo 상속을 하는 자식에서 부모 방향으로 / 앞에 i로 쓴다.interface Pri