Java를 공부하는 사람이라면 JVM을 들어본적이 있을텐데 Java로 작성된 코드를 실행시키는 JVM과 간단하게 JDK, JRE를 짚어본다.
직렬화란 사실 자바에서만 사용되는 개념은 아니다. CS에서 객체의 상태를 저장하거나 전송 가능한 형태로 변환하는 프로세스를 의미하는데 대부분의 다른 프로그래밍 언어들과 마찬가지로 자바에서도 중요한 개념 중 하나이다.
자바는 멀티쓰레드를 지원한다. 잘 알고 쓴다면 빠른 반응성과 처리 속도, 대기 시간 감소 등의 이점을 얻을 수 있다.
초창기 부터 지원되었던 IO이후 NIO(New Input/Output)가 자바4에서 등장하게 되고 기존의 IO에서 업그레이드된 기능을 지원하게 된다. 두 API의 차이를 알아보자
람다식, Optional, 인터페이스의 변경점
는 보통 설계도의 성격을 띄기에 추상화의 특징이 드러나지만 또 다른 를 상속할 수 있기에 경우에 따라서 상속성의 특징도 나타날 수 있다. 또 생각해보면 정의된 메소드들은 구현 클래스에 따라서 모두 다른동작을 하거나 인터페이스의 타입으로 구현클래스를 다룰 수 있어서
객체의 캡슐화/추상화/다형성/상속성에 대해
Override는 메소드를 재정의하는 행위를 뜻한다. 생략하는 경우도 종종있는데 꼭 생략/명시를 해야할까