문자열로 해서는 안되는 일들을 짚어보자
- 문자열은 값 자료형을 대신하기에는 부족하다. 데이터가 원래 텍스트 형태일 때나 문자열을 사용하고, int나 float 같은 수 자료형이면 수 자료형으로 변환해야 한다. 일반적으로 말하자면, 적절한 값 자료형이 ㅣㅇㅆ다면 그것이 기본 자료형이건 아니면 객체 자료형이건 상관없이 해당 자료형을 사용해야 한다.
- 문자열은 enum 자료형을 대신하기에는 부족하다.
- 문자열은 혼합 자료형을 대신하기엔 부족하다. 여러 컴포넌트가 있는 개체를 문자열로 표현하는 것은 좋지 못하다.
위와 같은 코드처럼 문자열을 사용하면, 각 필드를 구하기 위해서는 파싱을 해야하는데, 비용이 많이들고 오류 가능성이 많은 작업이다. 혼합 자료형을 표현할 클래스를 만드는 편이 더 낫다.
- 문자열은 권한을 표현하기엔 부족하다. 때로, 문자열을 사용해서 기능 접근 권한을 표현하는 경우가 있다.
위와 같이 사용하면, 키의 유일성을 보장하기 힘들다. 문자열 대신 위조 불가능 키로 바꾸면 해결된다.
요약
더 좋은 자료형이 있거나 만들 수 있을 때는 객체를 문자열로 표현하는 것을 피하라. 제대로 쓰지 못할 경우 문자열은 다른 자료형에 비해 다루기 성가시고, 유연성도 떨어지며, 느리고 , 오류 발생 가능성도 높다. 문자열이 적합하지 못한 자료형으로는 기본 자료형, enum, 혼합 자료형 등이 있다.
'개발서적 > 이펙티브자바' 카테고리의 다른 글
[일반적인 프로그래밍 원칙들]규칙52. 객체를 참조할 때는 그 인터페이스를 사용하라 (0) | 2017.05.06 |
---|---|
[일반적인 프로그래밍 원칙들]규칙51. 문자열 연결시 성능에 주의하라 (0) | 2017.05.05 |
[일반적인 프로그래밍 원칙들]규칙49. 객체화된 기본 자료형 대신 기본 자료형을 이용하라 (0) | 2017.05.05 |
[일반적인 프로그래밍 원칙들]규칙48. 정확한 답이 필요하다면 float과 double은 피하라 (0) | 2017.05.05 |
[일반적인 프로그래밍 원칙들]규칙47. 어떤 라이브러리가 있는지 파악하고, 적절히 활용하라 (0) | 2017.05.05 |