Java boolean, Boolean Getter/Setter 차이 feat. IntelliJ

자바에선 원시 타입(primitive type)인 boolean과 클래스 타입 Boolean의 Getter를 생성할 때 규칙이 다릅니다. 자바의 프로퍼티 접근자(Getter/Setter)는 JavaBeans 스펙 에 그 내용이 기술되어 있는데 그 내용은 접근자를 만들 때 PropertyName앞에 get과 set을 붙인다는 내용입니다. 다만 boolean 타입에 대해선 별도로 명시 하고 있는데 그 내용은 다음과 같습니다. 간단히 설명하면 원시 타입 boolean의 경우 다음과 같이 is를 붙이는 형태로 작성할 수 있습니다. public boolean is<PropertyName>(); 물론 다른 타입에 사용하는 get 을 붙여 만드는 것도 가능하고 둘 다 사용할 수 있습니다. public boolean is<PropertyName>(); public boolean get<PropertyName>(); IntelliJ에서 원시 타입 boolean Getter/Setter 생성을 하면 아래와 같이 만들어 줍니다. public class PrimitiveBooleanClass { private boolean primitiveBoolean; public boolean isPrimitiveBoolean() { return primitiveBoolean; } public void setPrimitiveBoolean(boolean primitiveBoolean) { this.primitiveBoolean = primitiveBoolean; } } 그럼 클래스 타입 Boolean은 어떨까요? 이미 예상한 사람도 있겠지만 Boolean 클래스는 엄밀한 의미의 boolean이 아닙니다! 😧 자바의 특성상 클래스 타입 변수에 null 값을 할당할 수 있는데 이로 인해 Boolean 타입은 이름 값을 하지 못하고 true/false...