일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- jsp 팝업띄우기
- CRUD게시판만들기
- crud게시판
- spring crud게시판
- PLSQL
- 오버라이딩
- 스프링게시판만들기
- 2020정보처리기사실기정리
- spring crud
- 게시판만들기
- html기초
- js datepicker
- 프로그래머스 MYSQL
- 2020정보처리기사실기
- Oracle기초
- 오라클설치
- 정보처리기사실기정리
- 정처기실기정리
- 2020정보처리기사실기요약
- 프로그래머스 SQL
- 자바배열예제
- jsp게시판만들기
- 자바 정규표현식 예제
- jsp 날짜팝업
- 프로그래머스 쿼리문
- 스프링 crud
- 자바연산자
- 날짜지정팝업
- 자바기초
- 스프링 CRUD게시판
Archives
- Today
- Total
영보의 SystemOut.log
[Java] 열거형 Enum / 열거형 Enum 예제 본문
반응형
자바/스프링 기반 디지털 융합 웹 개발자 양성과정 6일차
열거형 Enum
1. 클래스 처럼 보이게 하는 상수
2. 서로 관련 있는 상수들끼리 모아 상수들을 대표할 수 있는 이름으로 타입을 정의하는 것
3. Enum 클래스 형을 기반으로 한 클래스형 선언
# 열거형 Enum Enum을 사용하면서 우리가 얻을 수 있는 이점
1. 코드가 단순해지며, 가독성이 좋다.
2. 인스턴스 생성과 상속을 방지하여 상수값의 타입 안정성이 보장된다.
3. enum class를 사용해 새로운 상수들의 타입을 정의함으로 정의한 타입이외의 타입을 가진 데이터값을 컴파일시 체크한다.
4. 키워드 enum을 사용하기 때문에 구현의 의도가 열거형임을 분명하게 알 수 있다.
예제
PayGrop.java
package Enum응용실습;
import java.util.*;
/*
Arrays 클래스의 주요 메소드
=> static <T> List<T> asList(T..a)
=> 기능 : 전달받은 배열은 고정 크기의 List로 변환하여 변환해주는 메소드
*/
import java.lang.reflect.Array;
public enum PayGrop {
CASH("현금", Arrays.asList("계좌이체","무통장입금","현장결제","토스")),
CARD("카드",Arrays.asList("페이코","신용카드","카카오페이","배민페이")),
ETC("기타",Arrays.asList("포인트","쿠폰")),
EMPTY("결제종류없음",Collections.EMPTY_LIST);
private String title;
private List<String> payList;
// 생성자
PayGrop(String title, List<String> payList){
this.title = title;
this.payList = payList;
}
}
PayGropTest.java
package Enum응용실습;
import java.util.Scanner;
public class PayGropTest {
private static final Object EMPTY = null;
public static void main(String[] args) {
for(PayGrop type : PayGrop.values()){
System.out.print("결제 종류 : ");
System.out.println(type.getTitle());
}
System.out.println();
for(PayGrop type : PayGrop.values()){
System.out.println(type.getPayList());
}
System.out.println();
System.out.print("결제 수단을 입력하세요 >>> ");
Scanner in = new Scanner(System.in);
String payment_means = in.next();
PayGrop pay = PayGrop.findByPayCode(payment_means);
if(pay.equals(EMPTY)){
System.out.println("결제 종류 : "+pay.getTitle());
}else{
System.out.println("결제 종류 : "+pay.getTitle());
}
}
}
반응형
'Language > JAVA' 카테고리의 다른 글
JAVA 랜덤 숫자 맞추기 게임 (0) | 2023.10.17 |
---|---|
[Mac] 자바에서 파일 생성/삭제/폴더생성/폴더삭제 해보기 (0) | 2023.10.17 |
[Java] 게시판 게시물 게시기간 설정하기 - 시간 지나면 게시물 숨기기 (1) | 2021.08.04 |
[Java]IndexOutOfBoundsException: Index: 0, Size: 0 에러 (0) | 2021.07.28 |
[Java]UnsupportedOperationException 에러 (0) | 2021.05.18 |