Open HanaHww2 opened 1 year ago
제가 경험한 실무에서는 여러 요소가 혼합된 데이터를 하나의 문자열로 표현하는 일이 빈번했어서 혼자라도 StringBuffer 쓰곤 했던 기억이 나네요. 가능하다면 앞으로는 enum을 적극적으로 활용해볼 예정입니다.
문자열 보다는 enum을 자주 사용하는 습관을 가져야겠습니다
실무에서 StringBuffer 를 사용하는 코드를 많이 보았는데, 명확하게 왜 사용해야하는지는 몰랐습니다. 이번 기회로 이유를 알게되었네요
62. 다른 타입이 적절하다면 문자열 사용을 피하라
문자열은 열거 타입을 대신하기 적합하지 않다
문자열은 혼합 타입을 대신하기 적합하지 않다
여러 요소가 혼합된 데이터를 하나의 문자열로 표현하는 것은 좋지 않다
각 요소를 개별로 접근하려면 문자열을 파싱해야 해서 느리고, 귀찮고, 오류 가능성 커진다.
적절한 equlas, toString, compareTo 메서드 제공할 수 없고, String이 제공하는 기능에만 의존해야
차라리 전용 클래스를 새로 만드는게 낫다
문자열은 권한을 표현하기에 적합하지 않다
.
.
문자열은 불변(immutable)하기 때문에 문자열 연산이 빈번하게 일어날 경우 성능 문제를 발생시킬 수 있다.
→ 문자열 연산이 필요한 경우 StringBuilder나 StringBuffer 클래스를 사용하는 것이 좋다.
이러한 클래스는 내부 버퍼(buffer)를 사용하여 문자열 연산을 수행하므로, 객체 생성이 적고 성능이 좋다.
.
문자열을 enum 상수나 정수형 상수로 대체하여 사용하는 것이 좋다.
enum 상수는 상수의 이름이 문자열로 정의되어 있으므로 가독성이 높아지고, 오타 등의 오류를 줄일 수 있다.
정수형 상수는 switch 문에서 사용할 수 있으며, 이 경우 문자열을 사용하는 것보다 훨씬 빠르고 효율적이다.