서비스
전체 게시글 목록 조회
게시글은 완료
댓글이랑 http 예외처리하기
class 포켓몬 {
// 레드는 오박사님께 함께 여행을 할 포켓몬 1마리를 선물 받기로 했는데, 선택하려고 한다.
static final int 피카츄 = 0;
static final int 파이리 = 1;
static final int 꼬북이 = 2;
// 레드는 태초마을에서 어느 마을로 여행을 갈 것인가?
static final int 상록시티 =0;
static final int 회색시티 =1;
static final int 블루시티 =2;
final int 포켓몬kind;
final int 마을;
}
class 포켓몬 {
// 레드는 오박사님께 함께 여행을 할 포켓몬 1마리를 선물 받기로 했는데, 선택하려고 한다.
enum 포켓몬kind {피카츄, 파이리, 꼬북이} // 열거형 kind 정의
// 피카츄, 파이리, 꼬북이 => 상수명
// 레드는 태초마을에서 어느 마을로 여행을 갈 것인가?
enum 마을 {상록시티, 회색시티, 블루시티} // 열거형 마을 정의
final 포켓몬Kind 포켓몬kind;
final 마을(대문자) 마을(소문자);
}
//열거형에 멤버 추가하기
//레드는 여행을 하던 중 새로운 포켓몬을 만났다.
enum 포켓몬kind {피카츄, 피존튜, 꼬북이, 이브이) // 열거형 kind 정의
// 열거형에 추상 메서드 추가하기
// 레드는 여행을 하기 위해 걸어가다 힘이 들어 운송수단을 알아볼려고 합니다.
// 피존튜나 타고 가거라
// 버스는 100원, 기차는 150원 배는 100원 피존튜는 0원
emun Transportation {
버스Bus(100), 기차TRAIN(150), 배SHIP(100), 피존튜(0);
private final int BASIC_FARE;
private Transportation(int basicFare){
BASIC_FARE = basicFare;
}
int fare() { // 운송 요금을 반환
return BASTC_FARE;
}
}
열거형(Enum)은 일반적으로 프로그램에서 사용할 상수 집합을 정의하는 데 사용됩니다. 열거형에 새로운 멤버를 추가하는 방법은 다음과 같습니다.
- 기존의 열거형에 새로운 멤버를 추가하는 방법 새로운 멤버를 추가하려면 기존의 열거형에 값을 추가해야 합니다. 이는 새로운 값을 열거형 목록에 추가하고 열거형을 사용하는 코드에서 새 값을 사용할 수 있도록 합니다.
javaCopy code
public enum Color {
RED, BLUE, GREEN, YELLOW;
}
// 새로운 멤버 추가
public enum Color {
RED, BLUE, GREEN, YELLOW, PURPLE;
}
- 새로운 열거형 멤버를 추가하는 방법 새로운 열거형 멤버를 추가하려면 새로운 열거형을 만들어야 합니다. 이는 기존의 열거형과 마찬가지로 새로운 값을 열거형 목록에 추가하고 열거형을 사용하는 코드에서 새 값을 사용할 수 있도록 합니다.
javaCopy code
// 새로운 열거형 추가
public enum Fruit {
APPLE, BANANA, ORANGE, GRAPE;
}
// 새로운 멤버 추가
public enum Fruit {
APPLE, BANANA, ORANGE, GRAPE, WATERMELON;
}
열거형은 보통 변경할 수 없는 상수 집합으로 사용되므로, 멤버를 추가하는 것은 대부분의 경우 열거형을 수정하는 것보다는 새로운 열거형을 만드는 것이 더 일반적입니다.
[data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2730%27%20height=%2730%27/%3e](data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2730%27%20height=%2730%27/%3e)
열거형 추상 메서드 추가하기
Java의 열거형(Enum)은 추상 메서드를 포함할 수 있습니다. 열거형에 추상 메서드를 추가하려면 열거형 상수 각각이 해당 추상 메서드를 구현해야 합니다.
아래는 추상 메서드가 있는 열거형의 예시입니다.
javaCopy code
public enum Shape {
CIRCLE {
@Override
public double calculateArea(double radius) {
return Math.PI * radius * radius;
}
},
SQUARE {
@Override
public double calculateArea(double side) {
return side * side;
}
},
RECTANGLE {
@Override
public double calculateArea(double length, double width) {
return length * width;
}
};
// 추상 메서드 선언
public abstract double calculateArea(double arg1);
// RECTANGLE 상수를 위한 메서드 추가
public double calculateArea(double length, double width) {
throw new UnsupportedOperationException("RECTANGLE shape does not support this operation");
}
}
위 예시에서 Shape 열거형은 **calculateArea()**라는 추상 메서드를 가지고 있습니다. 각각의 상수(여기서는 CIRCLE, SQUARE, RECTANGLE)는 이 추상 메서드를 구현합니다.
RECTANGLE 상수는 calculateArea() 메서드를 두 개의 매개변수로 호출해야 하므로, 열거형 내에서 별도의 calculateArea() 메서드를 정의해야 합니다.
따라서, 열거형 내부에서 추상 메서드를 정의하고, 각각의 상수가 이를 구현하도록 할 수 있습니다. 이를 통해 열거형을 사용하는 코드에서는 각각의 상수에서 구현된 추상 메서드를 호출할 수 있습니다.
Java의 열거형(Enum)은 추상 메서드를 포함할 수 있습니다. 추상 메서드를 추가하려면 열거형 상수 각각이 해당 추상 메서드를 구현해야 합니다.
아래는 추상 메서드가 있는 열거형의 예시입니다.
public enum Shape {
CIRCLE {
@Override
public double calculateArea(double radius) {
return Math.PI * radius * radius;
}
},
SQUARE {
@Override
public double calculateArea(double side) {
return side * side;
}
},
RECTANGLE {
@Override
public double calculateArea(double length, double width) {
return length * width;
}
};
// 추상 메서드 선언
public abstract double calculateArea(double arg1);
// RECTANGLE 상수를 위한 메서드 추가
public double calculateArea(double length, double width) {
throw new UnsupportedOperationException("RECTANGLE shape does not support this operation");
}
}
위 예시에서 Shape 열거형은 calculateArea()라는 추상 메서드를 가지고 있습니다. 각각의 상수(여기서는 CIRCLE, SQUARE, RECTANGLE)는 이 추상 메서드를 구현합니다.
RECTANGLE 상수는 calculateArea() 메서드를 두 개의 매개변수로 호출해야 하므로, 열거형 내에서 별도의 calculateArea() 메서드를 정의해야 합니다.
따라서, 열거형 내부에서 추상 메서드를 정의하고, 각각의 상수가 이를 구현하도록 할 수 있습니다. 이를 통해 열거형을 사용하는 코드에서는 각각의 상수에서 구현된 추상 메서드를 호출할 수 있습니다.
인텔리 제이 code → Optimize Import 를 클릭 하면 사용하지 않는 import는 지워 준다!
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://엔드포인트:3306/db이름 spring.datasource.username=root # 계정명 spring.datasource.password=0000 # 비번
h2 사용하는 이유 : 라이트하다. 인메모리에서 테스트 하기 쉽기 때문에 사용!
레비스 도 인메모리에 쓰이기 때문
jpa을 쓰는 이유 → orm 디비에 자주 가면 안좋기 때문