예를들어 카카오톡을 구현한다고 하면

채팅방이 1대1톡인지, 오픈톡인지, 비공개 방인지 등등

필요한 플래그가 많을텐데


옛날에는 필요한 플래그마다 bool 변수를 만들어줬다면

요즘은 roomType 변수 같이 int나 enum 같은 변수만들고

bool isOpenTalk() { return roomType == RoomType.Open...

으로 쓰는게 더 좋은거 같음

코틀린이라면 확장함수로 해주면 더더욱 좋고 ㅇㅅㅇ




경험적으로 느끼는거라 장점을 설명하긴 힘든데

roomType 이 바뀔수 있다면 플래그값들도 언제 바꿔야하는지 체크해야해서 유지보수도 안좋고

플래그값을 여러개 조합해야할 때 중복된 조건 파악이 어렵고

플래그 변수는 참/거짓 두가지만 저장가능해서 확장성도 별로인거 같음