반응형 null3 [엘레강트 오브젝트] 4.1 절대 NULL을 반환하지 마세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. 객체의 신뢰 빠르게 실패하기 vs. 안전하게 실패하기 NULL의 대안 정리 객체의 신뢰 객체가 NULL을 반환한다면, 해당 객체를 신뢰할 수 없게 된다. 반환된 값이 객체인지부터 확인해야 하기 때문에, 객체에게 작업을 요청한 후 안심하고 결과에 의지할 수 없다. String title = x.title(); if (title == null) { print("Cant't print; it's not a title."); return ; } print(title.length()); 객체라는 사상에는 우리가 신뢰하는 엔티티라는 개념이 담겨져 있다. 객체는 자신만의 생명주기, 자신만의 행동, 자신만의 상태를 가지는 살아있는.. 2023. 4. 9. [엘레강트 오브젝트] 3.3 인자의 값으로 NULL을 절대 허용하지 마세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. NULL NULL 처리 방법 정리 관련해서 참고해볼 내용 코드 어딘가에 NULL이 존재한다면 커다란 실수를 저지르고 있는 것이라고 말한다. 사실, 전달할 객체가 없으므로 값이 없는 것으로 간주하세요 라는 의사를 표현할 수 있도록 사용자에게 진짜 객체 대신 NULL을 전달하도록 허용하는 것은 일반적인 방법이다. NULL NULL을 허용하는 find() 메서드를 구현하기 위해서는 다음과 같이 분기를 처리할 필요가 있습니다. public Iterable find(String mask) { if (mask == NULL) { // 모든 파일을 찾는다 } else { // 마스크를 사용해서 파일을 찾는다 } }객체를 존중한다면 다음과 같이.. 2023. 3. 22. [엘레강트 오브젝트] 2.6 불변 객체로 만드세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. 불변 클래스 불변객체의 특징 정리 불변 클래스 모든 클래스를 상태 변경이 불가능한 불변 클래스(immutable class)로 구현하면 유지보수를 크게 향상시킨다. 불변성의 특징은 다음과 같다. 크기가 작음 응집력이 높음 느슨하게 결합 유지보수하기 쉬운 클래스 불변객체는 인스턴스를 생성한 후에 상태를 변경할 수 없는 객체이다. class Cash { private final int dollars; Cash(int val) { this.dollars = val; } } final 키워드는 생성자 외부에서 프로퍼티의 값을 수정할 경우 컴파일 에러가 발생한다. 불변 객체를 수정해야 한다면 프로퍼티를 수정하는 대신 새로운 객체를 생성해야.. 2023. 3. 12. 이전 1 다음 반응형