티스토리 뷰
java.lang.Object 클래스가 toString 메서드를 제공하긴 하지만 이 메서드가 반환하는 문자열은 일반적인 문자열이 아니다. 클래스 이름 다음에 @ 기호와 16진수로 표현된 해시 코드가 붙은 문자열이다. toString의 일반 규약에는 '모든 하위 클래스는 이 메서드를 재정의함이 바람직하다.(It is recommended that all subclasses override this method.)' 라는 구절도 있다.
toString을 재정의 하면 디버깅할 때에도 많은 도움이 된다. 그리고 객체를 바로 문자열과 연결시켜 사용할 때도 편하게 작업할 수 있다. 가능하다면 toString 메서드는 객체 내의 중요 정보를 전부 담아 반환해야 한다.
toString이 반환하는 문자열의 형식을 떠나 어떤 의도인지는 문서에 분명하게 남겨야 한다. 또한 반환하는 문자열에 포함되는 정보들은 전부 프로그래밍을 통해서 가져올 수 있도록 해야 한다. getter를 통해서 언제든지 값을 가져올 수 있게 해야 프로그래머들은 toString 문자열을 파싱 하는 말도 안 되는 현상이 발생되고 성능 또한 저하되기 때문이다.
'프로그래밍 > Effective Java' 카테고리의 다른 글
[Effective Java] 12. Comparable 구현을 고려하라. (0) | 2019.06.11 |
---|---|
[Effective Java] 11. clone을 재정의 할때는 신중하라. (0) | 2019.06.10 |
[Effective Java] 09. equals를 재정의할 때는 반드시 hashCode도 재정의하라. (0) | 2019.04.24 |
[Effective Java] 08. equals를 재정의할 때는 일반 규약을 따르라. (0) | 2019.04.23 |
[Effective Java] 07. 종료자 사용을 피하라. (0) | 2019.04.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 제주도 3박4일 일정
- 오라클
- 오라클 내장 함수
- 회고
- 정렬 알고리즘
- 리액트 16
- 자바스크립트
- 소프트웨어공학
- 성능분석
- 리액트
- 제주도 여행
- 프로그래머
- 이직
- effective java
- Tomcat
- spring
- 경력관리
- Collection
- javascript
- 리눅스 명령어
- 프로그래머스
- Linux 명령어
- 개발환경
- Java
- 자바
- SQL
- Eclipse
- Maven
- sort algorithm
- React
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함