Skip to content

Commit

Permalink
feat: 누락된 설명 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
delmaSong committed May 30, 2021
1 parent c55fd61 commit eb5cc75
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions 10장_예외/item76.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ public Object pop() {
* 작업 수행에 앞서 매개변수 유효성을 검사하는 것과 비슷한 취지의 방법입니다. 계산을 수행해보기 전에 인수의 유효성을 검사해볼 수 없을 때 앞서의 방식에 덧붙여 쓸 수 있는 기법입니다.
* 예를 들어 TreeMap을 생각해봅시다. TreeMap은 원소들을 어떤 기준으로 정렬하고, 따라서 TreeMap에 원소를 추가하려면 원소가 TreeMap에 기준에 따라 비교할 수 있는 타입이어야 합니다. 그래서 해당 TreeMap의 원소타입에 맞지 않은 엉뚱한 타입의 원소를 추가하면 **해당 원소가 들어갈 위치를 찾는 과정에서** `ClassCastException`을 던질 것이고 **TreeMap의 상태는 변하지 않을 것**입니다.

### 객체의 임시 복사본에서 작업을 수행한 다음, 작업이 성공적으로 완료되면 원래 객체와 교체한다

데이터를 임시 자료구조에 저장해 작업하는 게 더 빠를 때 적용하기 좋은 방법입니다. 예를 들어 배열을 사용하면 정렬 알고리즘의 반복문에서 원소들에 훨씬 빠르게 접근할 수 있기 때문에 어떤 정렬 메서드에서 정렬을 수행하기 전에 입력 리스트의 원소를 배열로 옮겨 담습니다. 물론 이는 성능을 높이고자한 결정이지만, 혹여 정렬에 실패해도 입력 리스트는 변하지 않는 효과를 얻을 수 있게 됩니다.


### 작업 도중 발생하는 실패를 가로채는 복구 코드로 실패시 작업 전 상태로 되돌린다

Expand Down

0 comments on commit eb5cc75

Please sign in to comment.