ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.