method
-
[Java] Effective Java 3/E 정리 - 8장 메서드Study/이펙티브 자바 2021. 7. 18. 21:22
이번 장에서는 메서드를 설계할 떄 주의할 점을 살펴보자, 매개변수와 반환값 처리, 메서드 시그니처 설꼐, 문서화 방법에 대한 것을 다루고, 이번장은 메서드 뿐만 아니라 생성자에도 적용되는 부분이 많다. Item49. 매개변수가 유효한지 검사하라 메서드와 생성자 대부분은 입력 매개변수의 값이 특정조건을 만족하기를 바란다. 이런 제약은 반드시 문서화해야 하며 메서드가 시작되기 전 검사해야하한다. 메서드 로직이 실행되기 전에 매개변수를 확인한다면 즉각적이고 깔끔한 방식으로 예외를 던질 수 있다. public과 protected 메서드는 매개변수 값이 잘못됐을 때 던지는 예외를 문서화해야한다. (@throws 자바독 태그를 사용한다.) 보통은 IllegalArgumentException, IndexOutofBo..
-
[Java] Effective Java 3/E 정리 - 3장 모든 객체의 공통 메서드Study/이펙티브 자바 2021. 6. 16. 18:55
3장은 Object에서 재정의가 가능한 메서드를 재정의할 때 지켜야할 규약에 대해 설명한다. * equals, hashCode, toString, clone, finalize 규약을 지키지 않고 잘못 구현할 경우 HashMap, HashSet 등과 같은 클래스에서 오동작할 위험이 있다. Item10. equals는 일반 규약을 지켜 재정의하라 equals를 재정의하지 않고 사용할 경우 오직 자기 자신과만 같게 된다. 아래 4가지의 상황에 해당된다면 재정의하지 않는 것이 좋다. 각 인스턴스가 본질적으로 고유하다. 값을 표현하는 것이 아니라 동작하는 객체를 표현하는 클래스가 해당한다. ex) Thread 인스턴스의 '논리적 동치성(logical equality)'을 검사할 일이 없다. 상위 클래스에서 재정의..