
보통 클래스의 인스턴스(객체)를 얻는 방법은 public 생성자이다. 하지만 클래스는 생성자와 별도로 정적 팩토리 메서드(static factory method)를 제공할 수 있다.예시)Enum.valueOf 는 괄호의 해당 문자열을 Enum 객체로 변환시키는 역할을

Object는 객체를 만들 수 있는 구체 클래스지만 기본적으로는 상속해서 사용하도록 설계되었다. Object에서 final이 아닌 메서드는 모두 재정의를 염두에 두고 설계되었다.final이 아닌 메서드equalshashCodetoStringclonefainalize하지

자바의 핵심이자 객체 지향의 가장 중요한 특성인 추상화에는 클래스와 인터페이스가 있다. 클래스 내부 데이터와 구현 정보를 외부 컴포넌트로부터 얼마나 잘 숨겼는지에 따라 잘 설계된 컴포넌트인지 구별한다. 이러한 기능을 정보 은닉, 캡슐화라고 한다.정보 은닉의 장점1\.

자바 5부터 지원하는 제네릭은 컬렉션에서 담을 수 있는 타입을 컴파일러에 알려주어 알아서 형변환 코드를 추가할 수 있게 된다. 하지만 코드가 복잡해 질 수 있다.제네릭 클래스와 제네릭 인터페이스를 통틀어 제네릭 타입이라 한다.각각의 제네릭 타입은 일련의 매개변수화 타입

열거 타입과 애너테이션 자바에는 특수한 목적의 참조 타입이 두 가지가 있다. 클래스의 일종인 열거 타입(enum) 인터페이스의 일종인 애너테이션(annotation) > 열거 타입(enum) 서로 연관된 상수들의 집합 코드의 가독성을 좋게하며, 인스턴스 생성과 상

자바 8에서 함수형 인터페이스, 람다, 메서드 참조라는 개념이 추가되면서 배열과 컬렉션을 더 간결하고 효과적으로 처리할 수 있게 되었다.기존에는 List, Set, Map같은 컬렉션 데이터를 처리하려면 반복문을 사용해야 했다. 이는 코드가 길어지고 가독성이 떨어지는

Spring Boot로 프로젝트를 진행다가 Java EE와 Jakarta EE라는 것을 흔히 볼 수 있었다. 하지만 정확히 어떤 역할을 하는지 알기 위해 기록을 한다.Java EE (Java Platform, Enterprise Edition)는 Sun Microsys