Enum이란?제목에 Enum은 상수 관리를 위한 도구라고 지었습니다. 사실 Enum은 단순한 상수를 관리하는 도구를 넘어서, 타입 안정성과 가독성을 보장하는 방식으로 객체 지향적으로 상수를 관리하는 해결책입니다. 이에 관한 설명을 하기 위해서 Enum이 도입되기 전 상수가 어떻게 정의되었었는지 알아보겠습니다. 과거에는 어떻게 상수를 정의했을까?1. final 키워드를 이용한 상수자바에서 상수를 정의하는 가장 전통적인 방법은 final 키워드를 사용하는 것입니다. 이는 변수를 상수로 만들어 한 번 초기화되면 변경되지 않도록 보장하는 방식입니다. 여기에 static을 함께 사용하여 클래스 로드 시 한 번만 메모리에 할당되게 만들어 효율성을 높일 수 있습니다.public class Constants { ..
제네릭이란?제네릭이란 클래스나 메서드 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법입니다. 제네릭을 통해 다양한 타입을 처리할 수 있습니다. 제네릭을 사용하면 컴파일 타임에 타입을 지정할 수 있어, 타입 안정성이 보장되고, 형변환에 대한 부담이 줄어듭니다. 예시: 제네릭을 사용하지 않은 경우와 제네릭을 사용하는 경우 비교// 제네릭스를 사용하지 않은 경우List list = new ArrayList();list.add("Hello");list.add(123); // 문자열과 정수를 동시에 저장 가능, 타입 안정성 없음String str = (String) list.get(0); // 형변환 필요// 제네릭스를 사용하는 경우List list = new ArrayList();list.add("..
Java 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 관리하기 위한 구조와 인터페이스의 집합입니다. 여러 데이터 구조를 제공하여 데이터를 다루기 쉽게 만들어주기 때문에 Java 개발 시 알아두어야 합니다. 컬렉션 프레임워크 계층도Iterable 인터페이스Iterable은 Java에서 반복 가능한 객체를 나타내는 최상위 인터페이스로, 컬렉션이 요소들을 순차적으로 탐색할 수 있도록 정의한 인터페이스입니다. 컬렉션을 foreach로 사용할 수 있게 하는 것이 바로 이 인터페이스 덕분입니다.List fruits = Arrays.asList("Apple", "Banana", "Cherry");for (String fruit : fruits) { System.out.println(fruit); // App..