일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 스프링게시판만들기
- PLSQL
- spring crud게시판
- spring crud
- 날짜지정팝업
- 정처기실기정리
- 자바 정규표현식 예제
- 오라클설치
- js datepicker
- crud게시판
- 2020정보처리기사실기요약
- 자바연산자
- 정보처리기사실기정리
- 게시판만들기
- 스프링 crud
- 프로그래머스 SQL
- 자바기초
- 2020정보처리기사실기정리
- jsp게시판만들기
- CRUD게시판만들기
- 오버라이딩
- 2020정보처리기사실기
- 자바배열예제
- 프로그래머스 MYSQL
- Oracle기초
- html기초
- 스프링 CRUD게시판
- jsp 날짜팝업
- 프로그래머스 쿼리문
- jsp 팝업띄우기
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 |