Class Loader : JVM 내(Runtime Data Area)로 Class 파일을 로드하고 링크
Execution Engine : 메모리(Runtime Data Area)에 적재된 클래스들을 기계어로 변경해 실행
Garbage Collector : 힙 메모리에서 참조되지 않는 개체들 제거
Runtime Data Area : 자바 프로그램을 실행할 때, 데이터를 저장
Java의 실행방식
오버로딩
오버라이딩
- 하위 클래스에서 상위 클래스의 메서드와 일치하는 함수를 재정의하는 것
추가로 @Override
를 써야하는 이유는? 이 애노테이션은 컴파일 타임에 오버라이딩에 대한 안정성을 부여해주기 때문에 반드시 써주는 것이 좋습니다.
optional
stream
lambda
localDateTime
default 메서드
꼬리 질문 java8에서 추가된 기능중 사용 경험 말해보기
저의 경우는 인터페이스에 default 메서드가 가능한 부분이 가장 좋았습니다. 기존에는 인터페이스를 구현할때 공통적인 메서드를 하나하나 하위객체에 작성을 해줘야해서 중복되는 코드가 있었는데 인터페이스 default 메서드가 생기면서 인터페이스에 공통 로직을 작성하면 되어 편리하였습니다.