abstract 키워드를 붙이면 됨.추상 클래스는 추상 메소드를 0개 이상 가지고 있다는 것을 제외하고 일반 클래스와 다르지 않음.추상 메소드는 선언부는 있는데 구현부가 없는 메소드자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드추상 메소드를 포함하는 클래
인터페이스는 기능에 대한 선언만 가능, 실제 구현 로직은 포함될 수 없다.자바 8부터 등장한 default 메소드는 인터페이스 내부에서도 로직이 포함된 메소드를 선언할 수 있게 한다.이를 구현하는 클래스는 @Override 가능하다.자바 기본서 ‘자바의 신’에서는 de
내부 클래스는 클래스 내에 선언된다는 점을 제외하고는 일반적인 클래스와 다르지 않다. 두 클래스가 서로 긴밀한 관계가 있을 떄 내부 클래스를 사용한다.내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.외부에는 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수
추상 메소드를 딱 하나만 가지고 있는 인터페이스SAM (Single Abstract Method) 인터페이스@FunctionaInterface 애너테이션을 가지고 있는 인터페이스추상 메소드만 1개이면 되고 static 메소드나 default 메소드는 여러 개 포함할 수
연속된 데이터를 처리하는 연산(Operation)들의 모음Functional in nature, 스트림이 처리하는 데이터 소스를 변경하지 않는다.스트림으로 처리하는 데이터는 오직 한번만 처리한다.손 쉽게 병렬 처리할 수 있다. (parallelStream())중개 오퍼