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...

개발 질문에 대해 "잘" 대답해주는 방법

  • 비슷한 질문에 대해 대답할 일이 많아진다.
  • 질문 답변 난이도는 질문자의 현재 지식 주준에 따라 달라진다.
  • 답변 시간을 줄이면서 답변의 질을 높이기 위해선 자주 발생하는 질문에 대한 정리가 필요하다.

회사에서 후임의 질문에 대답하는 것은 쉽지 않은 일이다. 구글링 해보면 나오는 질문이라서거나, 질문이 잘못되었다거나 또는 너무 당연한 질문을 해서가 아니다. 질문자의 질문이 명확하더라도, 내가 그 질문의 대답을 알고 있더라도 때론 설명하기 어려운 경우가 있다.


리처드 파인만은 위 영상에서 상대방의 질문이 적절하고 좋은 질문이라고 말 한다. 그럼에도 불구하고 해당 질문에 대답하기 어려운 이유를 설명한다. 좋은 질문일 지라도 질문자의 현재 상태(과거의 경험, 지식 수준)를 알 수 없기 때문에 대답하기가 쉽지 않다고 말한다.


이와 비슷하게 질문을 받으면 나 나름대로 상대의 상태에 대해 생각을 한다. 내가 설명에 사용할 용어에 대해 이해하고 있을까? 내가 사용할 비유를 이해할 수 있을까? 하는 것들이다. 이 과정에서 질문자와 답변자가 뒤바뀌어 이번엔 제가 질문을 하게 되고 질문은 또 다른 질문을 만들게 된다. 그러다 보면 한 가지 질문에 대답하는데 30분이 훌쩍 넘어가는 경우가 부지기수다.


답변의 퀄리티 또한 문제다. 내가 잘 아는 것에 대해선 시간이 걸리더라도 어떻게든 적절한 답변을 할 수 있겠지만. 배경지식이 방대하고 다양한 예를 보여줘야 하는 경우엔 즉흥적인 설명에 한계가 존재한다. 최근에 "콘크리트 클래스에 사용을 지양하고 인터페이스를 이용하면 의존성이 심플해지고 테스트 코드를 작성하기 쉬워진다."를 이해시키기 위해 SOLID의 I(인터페이스 분리 원칙)에 대한 설명과 라이브 코딩을 했는데 중간중간 버벅이는 부분이 있었다.


요즘 이런 질문에 대답해야 하는 경우가 늘어나고 질문 답변에 시간을 많이 쓰다 보니 좀 더 시간을 아낄 수 있는 방법이 없을까 고민하게 되었다. 일주일에 한 두번 하루 8시간 일 하는 중에 2시간을 질문에 답변해주는데 쓰다보니 반복되는 작업에 대해 정리해둘 필요성을 느끼게 되었다.


(IT Crowd에서 주인공은 반복되는 문의에 대해 자동으로 응답하는 장치를 만든다.)

반복되는 질문에 대해 빠르고 충분한 퀄리티의 답변(질문자의 의문을 해소시킬 수 있는)을 하기 위해 FAQ 형태의 블로그를 만드려고 한다.

댓글

이 블로그의 인기 게시물

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