Java에서 상수 집합을 정의하는 특별한 데이터 타입. enum을 사용하면 관련된 상수 값을 그룹화하여 가독성과 안정성을 높일 수 있다.enum은 new를 사용하여 객체를 생성 할 수 없다.enum 인스턴스는 코드 상에서 처음 호출되거나 참조 될 때 생성한다.타입 안전
어노테이션은 향후 특정 상황에서 데이터를 쉽게 활용할 수 있도록 소스 코드에 추가적인 정보를 제공해주는 메타 데이터(metadata) 어노테이션은 컴파일 할 때 나, 런타임 시에 해석될 수 있다.어노테이션은 자바 1.5부터 제공 컴파일러 지시: 컴파일러에게 특정 검사를
레코드란?불변 데이터 객체를 쉽게 생성할 수 있도록 하는 새로운 유형의 클래스JDK14 도입불변성 : 레코드에 정의된 필드는 기본적으로 final로 처리되며, 생성 이후 값을 변경할 수 없다. 이로 인해 불변 객체가 자동으로 만들어진다.자동 생성 메서드: 레코드를 선언
입출력(Input/Ouput) 스트림이란?자바의 모든 데이터 입출력은 스트림이라는 개념에 의해 이루어진다.입출력 스트림은 예외 처리 필수(IOEXCEPTION)

자바의 모든 데이터 입출력은 스트림(Stream)이라는 개념에 의해 이루어진다.스트림은 응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈로서, 입출력 장치와 응용프로그램 사이에서 데이터가 순서대로 전송되도록 한다.데이터 입출력 시 모든 데이터를 형태와는 관계 없이
데이터를 컴퓨터에서 처라히가 위한 중요한 과정으로, 문자를 숫자로 변환하거나 숫자를 문자로 변환하는 방식.문자를 컴퓨터가 이해할 수 있는 숫자로 변경하는 것문자 -> 숫자 - 인코딩숫자로 변환된 데이터를 다시 원래의 문자로 변환하는 과정숫자 -> 문자 - 디코딩 인코딩

자바 프로세스가 가지고 있는 데이터를 밖으로 보내려면 출력 스트림반대로 외부 데이터를 자바 프로스세 안으로 가져오려면 입력 스트림을 사용각 스티름은 단방향으로 흐름

스트림은 byte만 사용할 수 있으므로, String 같은 문자는 직접 전달할 수 없다는 점이다.개발자가 번거롭게 다음과 같은 변환 과정을 직접 호출String + 문자 집합 -> byte\[]byte\[] + 문자 집합 -> String이렇게 번거로운 변환 과정을 누
직렬화 자바 시스템 내부에서 사용되는 객체 또는 데이터를 자바 외부에서도 사용할 수 있도록 바이트(byte) 단위로 변환하는 것을 말한다. 직렬화가 가능한 자료형 및 객체 ᆞ 기본형 타입(boolean, char, byte, short, int, long, float,
인터넷 프로토콜 역할지정한 IP 주소에 데이터 전달패킷이라는 통신 단위로 데이터 전달소켓은 네트워크 통신을 위한 양방향 데이터 통신의 끝점을 의미. 소켓은 IP 주소와 포트 번호를 결합하여 네트워크 상의 다른 장치와 통신할 수 있는 인터페이스를 제공. 소켓은 네트워크
람다식은 메서드를 하나의 식(expression)으로 표현한 것객체 지향 언어보다는 함수 지향 언어에 가깝다.메서드를 간략하면서도 명확한 식으로 표현할 수 있도록 해준다.메소드를 람다식으로 표현하면 메서드의 이름 및 반환 값이 없어지므로 익명 함수 라고도 한다.람다식의
Optional 클래스는 Integer나 Double 클래스처럼 'T' 타입의 객체를 포장해 주는 래퍼 클래스이다.Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다.Optional 객체를 사용하면 예상치 못한 NullPointerException 예외
자바에서 동기화를 구현하는 키워드멀티스레드 환경에서 공유 자원에 여러 스레드가 동시에 접근하지 못하도록 임계 구역을 보호하는 데 사용가능한 최소한의 범위에 적용해야 한다.(동시에 여러 스레드가 실행할 수 있는 부분을 늘려서, 전체적인 처리 성능을 더 높일 수 있음) 데
자바에서 기본적인 synchronized 키워드 이상의 동기화 방법을 사용하여 보다 복잡한 멀티스레드 환경에서의 문제를해결하는 방법들.고급동기화의 핵심은 자원을 효울적으로 관리하면서 데드락, 라이브락, 성능 저하 등의 문제를 최소하 하는 것. synchronized 단
함수형 인터페이스는 오직 하나의 추상 메서드만을 가지는 인터페이스를 말한다. 이 인터페이스는 람다식 또는 메서드 참조의 대상이 될 수 있어 Java에서 함수형 프로그래밍 스타일을 가능하게 한다.참고로 람다는 클래스, 추상 클래스에는 할당할 수 없으며, 오직 단일 추상