# Effective Java

* [Item 7 - 다 쓴 객체 참조를 해제하라](/sr/book/effective/item_7.md)
* [Item 7 발표 내용](/sr/book/effective/item_7_ppt.md)
* [Item 13 - clone 재정의는 주의해서 진행하라](/sr/book/effective/item_13.md)
* [Item 13 발표 내용](/sr/book/effective/item_13_mystyle.md)
* [Item 16 - public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라](/sr/book/effective/item_16.md)
* [Item 16 발표 내용](/sr/book/effective/item_16_ppt.md)
* [Item 26 - 로 타입은 사용하지 말라](/sr/book/effective/item_26.md)
* [Item 28 - 배열보다는 리스트를 사용하라](/sr/book/effective/item_28.md)
* [Item 28 발표 내용](/sr/book/effective/item_28_ppt.md)
* [Item 29 - 이왕이면 제네릭 타입으로 만들라](/sr/book/effective/item_29.md)
* [Item 30 - 이왕이면 제네릭 메서드로 만들라](/sr/book/effective/item_30.md)
* [Item 31 - 한정적 와일드 카드를 사용해 API 유연성을 높이라](/sr/book/effective/item_31.md)
* [Item 35 - ordinal 메서드 대신 인스턴스 필드를 사용하라](/sr/book/effective/item_35.md)
* [Item 37 - ordinal 인덱싱 대신 EnumMap을 사용하라](/sr/book/effective/item_37.md)
* [Item 37 발표 내용](/sr/book/effective/item_37_ppt.md)
* [Item 43 - 람다보다는 메서드 참조를 사용하라](/sr/book/effective/item_43.md)
* [Item 56 - 공개된 API 요소에는 항상 문서화 주석을 작성하라](/sr/book/effective/item_56.md)
* [Item 56 발표 내용](/sr/book/effective/item_56_ppt.md)
* [Item 62 - 다른 타입이 적절하다면 문자열 사용을 피하라](/sr/book/effective/item_62.md)
* [Item 62 발표 내용](/sr/book/effective/item_62_ppt.md)
* [Item 64 - 객체는 인터페이스를 사용해 참조해라 (요약)](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_64.md)
* [Item 65 - 리플렉션보다는 인터페이스를 사용하라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_65.md)
* [Item 66 - 네이티브 메서드는 신중히 사용하라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_66.md)
* [Item 67 - 최적화는 신중히 하라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_67.md)
* [Item 68 - 일반적으로 통용되는 명명 규칙을 따르라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_68.md)
* [Item 69 - 예외는 진짜 예외 상황에만 사용하](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_69.md)
* [Item 70 - 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_70.md)
* [Item 71 - 필요없는 검사 예외 사용은 피하라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_71.md)
* [Item 72 - 표준 예외를 사용하라](https://github.com/SeokRae/TIL/tree/5bf92d51e08eb480d32e4b867e102c842fc42932/java/effective/item_72.md)
* [Item 73 - 추상화 수준에 맞는 예외를 던지라](/sr/book/effective/item_73.md)
* [Item 83 - 지연 초기화는 신중히 사용하라](/sr/book/effective/item_83.md)
* [Item 83 발표 내용](/sr/book/effective/item_83_ppt.md)
* [Item 89 - 인스턴스 수를 통제해야 한다면 readResolve보다는 열거 타입을 사용하라](/sr/book/effective/item_89.md)
* [Item 89 발표 내용](/sr/book/effective/item_89_ppt.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seokrae.gitbook.io/sr/book/effective.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
