반응형
[Java] Enum values 배열을 리스트 변환 (Baeldung, Enum values to List)
공부/Java2023. 7. 21. 22:50[Java] Enum values 배열을 리스트 변환 (Baeldung, Enum values to List)

Enum values to List 기본적으로 제공하는 values() method를 사용하게 되면 아래와 같이 배열[] 형태로 값이 반환된다. PizzaStatus[] values = PizzaStatus.values(); // [ORDERED, READY, DELIVERED] 개인적으로 values()와 forEach 구문을 활용하여 많이 사용했는데, Array -> List 로 변경하는 방식에 대해 Baeldung 포스팅이 있어서 내용을 정리해본다. 1. 클래스 타입 토큰을 인자로 전달받아 사용하는 static method 경우 static List enumValuesInList(Class enumClass) { T[] arr = enumClass.getEnumConstants(); // Enum ..

[Java] Generics (제네릭) - 공변/무공변/반공변, PECS
공부/Java2023. 7. 21. 17:36[Java] Generics (제네릭) - 공변/무공변/반공변, PECS

요약. 제네릭의 무공변/공변/반공변- 제네릭은 기본적으로 무공변/불공변성을 가진다- 상한 경계(extends) 타입 변수 지정하여 제네릭은 공변성을 가질 수 있다- 하한 경계(super) 타입 변수 지정하여 제네릭은 반공변성을 가질 수 있다 공변은 인터페이스 구현이나 상속(부모-자식 관계)을 생각하고,반공변은 부모-자식관계가 반대로 된 것으로 생각하기 Generics 란?-  클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법-  타입을 클래스 정의하는 시점이 아닌, 실제 사용하는 생성 시점에 결정-  Complie(컴파일) 단계에서 타입을 체크함으로써 코드의 안정성을 높임-  코드 중복 줄이고 재활용성 높임-  JDK 1.5 부터 도입 Generics을 사용하는 이유Generics 타입 지정함..

[Java] Annotation - 어노테이션 (자바의 정석)
공부/Java2023. 7. 19. 21:40[Java] Annotation - 어노테이션 (자바의 정석)

자주 사용하는 표준 어노테이션 @Override - 오버라이딩을 올바르게 했는지 컴파일러가 체크  @Deprecated- 앞으로 사용하지 않을 것을 권장하는 필드나 메서드에 붙임 @FunctionalInterface- 함수형 인터페이스는 하나의 추상메서드만 가져야 한다는 제약이 있음- 함수형 인터페이스에 붙이면, 컴파일러가 제대로 작성했는지 체크- 함수형 인터페이스라고 명시적으로 알려줌 @SuppressWarnings- 컴파일러가 경고 메시지가 나타나지 않게 한다. - 명시적으로 경고를 확인하고 억제하기 위해 붙였다는 의미를 나타내기도 함# 한 가지@SuppressWarnings("unchecked")List list = new ArraysList(); // 제네릭 타입 지정하지 않아 발생하는 오류 표시..

[Java] Primitive type (기본형 타입)
공부/Java2023. 5. 31. 21:56[Java] Primitive type (기본형 타입)

Primitive type - 총 8가지의 기본형 타입을 자바에서 제공함 - 기본값을 제공하기 때문에 Null이 존재하지 않음. 만약 기본형 타입에 Null을 넣고 싶은 경우 Wrapper class를 활용해야함 - 실제 값을 저장하는데, 이때 Stack(스택) 메모리에 저장됨 타입 할당 메모리 크기 데이터 표현 범위 논리형 boolean 1byte false, true 정수형 byte 8bit (1byte) -128 ~ 127 short 16bit (2byte) -32,768 ~ 32,767 int 32bit (4byte) -2,147,483,648 ~ 2,147,483,647 long 64bit (8byte) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,..

[Java]Comparable 과 Comparator 인터페이스
공부/Java2021. 9. 30. 23:51[Java]Comparable 과 Comparator 인터페이스

요약 - Comparable 인터페이스 : 객체 스스로에게 부여하는 한 가지 기본 정렬 규칙을 설정하는 것이 목적 - Comparator 인터페이스 : 기본 정렬 규칙과 다른 정렬 기준을 지정하고 싶을 때 사용 아래 익명 함수 정의하는 방식은 구식이기 때문에, 람다 표현식과 Method Reference 사용 방법 익히는 것을 권장합니다 Comparable 와 Comparator 는 둘 다 인터페이스로, 정렬 기준을 구현하기 위해 사용됨 Comparable 인터페이스는 compareTo() 메서드를 override 해서 구현 보통 정렬이 필요한 클래스에 Comparable 인터페이스 구현 Comparator 인터페이스는 compare() 메서드를 override 해서 구현 보통 별도 (클래스) 정의해서 ..

[Java] Collection Framework (콜렉션 프레임워크)
공부/Java2021. 9. 23. 17:42[Java] Collection Framework (콜렉션 프레임워크)

Collection Framework 다수의 데이터를 쉽고 효과적으로 처리가능한 표준화된 방법을 제공하는 클래스의 집합을 의미 즉, 데이터 저장하는 자료구조와 데이터 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 데이터를 제공하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의함 List 인터페이스 Set 인터페이스 Map 인터페이스 List, Set 인터페이스의 경우 Collection 인터페이스 상속 받지만, Map 인터페이스의 경우 구조상 차이로 별도로 정의됨 # 용어 정리 1. Collection (컬렉션) - 여러 객체(자료구조, 데이터)를 모아 놓은 것 2. Framework (프레임워크) - 표준/정형화된 체계적인 프로그래밍 방식 3. Collection Framework (컬렉..

반응형
image