본문 바로가기

JAVA32

[JAVA] Enum 열거형 멤버 추가 열거형 상수의 값이 불연속적인 경우, 열거형 상수의 이름 옆에 원하는 값을 괄호()와 함께 적어주면 된다. enum Direction{ EAST(1), SOUTH(5), WEST(-1), NORTH(10) }그리고 지정된 값을 저장할 수 있는 인스턴스 변수와 생성자를 새로 추가해 줘야 한다. enum Direction{ EAST(1), SOUTH(5), WEST(-1), NORTH(10); private int value; // 정수를 저장할 필드(인스턴스 변수) 추가 Direction(int value){ // 생성자 추가 this.value = value; } public getValue(){ return value; } }주의사항 - 열거형 상수를 모드 정의한(작성한) 후에 다른 멤버들을 추가해야 .. 2023. 1. 26.
[Java] Enum Ordinal 쓰면 위험해요. 아무튼 위험해요 Enum 클래스에 정의된 ordinal()이 열거형 상수가 정의된 순서를 반환하지만, 이 값을 열거형 상수의 값으로 사용하지 않는 것이 좋다. 그 이유는, 이 값은 내부적인 용도로만 사용되기 위한 것이기 때문이다. 외부적인 용도로 사용한다고 할 때, 내용이 추가되거나, 순서가 변경될 경우, 기존에 사용되던 값들과 현재의 값이 괴리된다. 예를 들어 열거형 상수가 다음과 같이 있다고 하자. CUSTOMER, SELLER, ADMIN ordinal() 로 각 0 , 1, 2 가 부여되고, 이를 토대로 db에 저장한다. 현재 ROLE 0 = 손님 1 = 판매자 2 = 관리자 그러다 정책이 변경되서 등급이 추가 된다. CUSTOMER, VIP, SELLER, POWER_SELLER, ADMIN 변경 후 ROLE .. 2023. 1. 26.
[JAVA] Call By Value & Call By Reference private void clear( Memo memo ){ memo = null; } public boolean check(Memo memo){ this.clear(memo); System.out.println(memo);// 결과 출력됨 } Q - 가져온 memo 를 clear() 메서드를 통해 null로 바꿨는데 왜 memo가 출력되는(존재하는) 것인가?? 찾아보자. 값에 의한 전달(call by value) 값에 의한 전달 방법은 인수로 전달되는 변수가 가지고 있는 값을 함수 내의 매개변수에 복사하는 방식입니다. 이렇게 복사된 값으로 초기화된 매개변수는 인수로 전달된 변수와는 완전히 별개의 변수가 됩니다. 따라서 함수 내에서의 매개변수 조작은 인수로 전달되는 변수에 아무런 영향을 미치지 않습니다. .. 2022. 12. 23.
for문 반복문에서 조건 범위를 메서드로 넣으면 예시 for(int i = 0; i 2022. 12. 5.
728x90