-
boolean 타입 명 앞의 is에 대해개발/JAVA 2021. 7. 11. 20:33
dto 객체에서 비어있는지 여부를 판단하기 위해 empty 라는 변수를 추가했다.
그리고 boolean형을 가져올때 isEmpty 식으로 boolean 타입을 묻곤 하기 때문에
큰 생각없이 변수 명을 isEmpty와 같이 지정하고 값을 가져올때도 isEmpty() 로 isEmpty 값을 가져 오도록 했다.
하지만 이처럼 is가 붙은 경우
isEmpty 값이 true를 주고 다시 isEmpty() 메서드를 통해 가져올 때
메서드의 내용은
public boolean isEmpty() { return isEmpty; }
로 isEmpty의 값을 그대로 리턴하지만
isEmpty 의 값을 true로 줬기 때문에 false로 리턴한다.
boolean 형의 변수명의 규칙과 주의할 점을 찾아봐야 하겠다.
발견 1
Lombok @Getter는 primitiveType인 boolean 에는 is를 class인 Boolean에는 get prefix를 붙인다.
@Getter public class BooleanGet { private boolean primitiveBoolean; private Boolean classBoolean; public BooleanGet(boolean primitiveBoolean, Boolean classBoolean) { this.primitiveBoolean = primitiveBoolean; this.classBoolean = classBoolean; } }
@DisplayName("type에 따라 get메서드가 다르다") @Test void getTest(){ BooleanGet booleanGet = new BooleanGet(true,true); assertTrue(booleanGet.getClassBoolean()); assertTrue(booleanGet.isPrimitiveBoolean()); }
따라서 이와같은 특징에 따라, 개체인 경우 해당 필드명에 이미 is가 붙은 경우Boolean타입으로 선언하거나 직접 메서드를 작성하는 것과 같이 주의가 필요할 것 같다.
'개발 > JAVA' 카테고리의 다른 글
Z GC(초안) (0) 2021.08.09 JVM(Java Virtual Machine) 구조 (0) 2021.03.19 Garbage collection -가비지 컬렉션 (0) 2021.03.19 Collection과 Map (0) 2021.03.19 array형 json string값을 object로 변환할때 ( json string array to object) (0) 2021.03.17 댓글