[Effective Java] 45. 변수 범위의 최소화
지역 변수의 유효범위를 최소화하면 가독성(readability)과 유지보수성(maintainability)이 좋아지고 오류 가능성도 줄어든다. 변수 범위를 최소화하는 가장 좋은 방법은 처음 사용하는 곳에서 선언하는 것이다. 지역 변수를 너무 빨리 선언하면 유효범위가 앞 뒤로 ...
지역 변수의 유효범위를 최소화하면 가독성(readability)과 유지보수성(maintainability)이 좋아지고 오류 가능성도 줄어든다. 변수 범위를 최소화하는 가장 좋은 방법은 처음 사용하는 곳에서 선언하는 것이다. 지역 변수를 너무 빨리 선언하면 유효범위가 앞 뒤로 ...
객체 생성을 막고자 할 경우 private 생성자를 사용하자. 가끔 Utility성 Class로 static method나 field만 모은 클래스를 만들때가 있다. 이런 구조는 객체지향적이지 않기 때문에 남용하면 안된다. 하지만 반드시 필요한 경우도 있기 때문에 자주 사용되...
Effective java : 3. private 생성자나 enum 자료형은 싱글턴 패턴을 따르도록 설계하라.
중첩 class(nested class)에는 4가지 종류가 있다. 이 4가지 중첩 클래스에 대해 알아본다. 1. static member class 정적 멤버 클래스. static member class는 바깥 클래스의 static 멤버이며, 다른 static 멤버와 동일한 ...
Class가 특정 상태에 따라서 다르게 동작하는 식으로 구현되는 경우가 있다. 이런 특정 상태(태그)에 따라서 내부 구현이 달라진다면 상속으로 구분하는 것이 좋다. 아래는 이러한 구현의 예로 shape 라는 태그 내용에 따라서 클래스가 사용하는 멤버가 정해진다. public...
생성자의 parameter가 많을때는 Builder 패턴을 고려하는것이 좋다. 특히나 선택적으로 필요한 parameter가 많을 경우 유용하다.
인터페이스를 구현하는 클래스를 만들면 그 인터페이스는 해당 클래스 객체를 참조할 수 있는 자로형의 역할을 하게 된다. 인터페이스를 구현해 클래스를 만든다는 것은 해당 클래스의 객체로 어떤일을 할 수 있다라는 것을 클라이언트에게 알리는 행위로, 이 외에 다른 용도로 인터페이스를 사...
1. 상속을 위한 문서 상속을 위한 문서를 갖춘다는 것은 method를 override 할때 무슨 일이 생기는지 명확하게 남긴다는 것이다. 즉, override가 가능한 메서드를 내부적으로 어떻게 사용하는지 반드시 문서에 남기라는 뜻이다. 관습적으로 override가 가능한 ...
상속은 코드 재활용을 위한 강력한 방법이지만 적절하게 사용하지 않은 경우 깨지기 쉬운 소프트웨어가 된다. 1. 상속이 안전한 경우
immutable class란 변경 불가능한 클래스로 객체가 생성되고 난 이후 그 객체 값의 변경이 불가능한 class를 말한다. 자바에서는 String, 기본자료형 wrapper, BigInteger, BigDeciaml 등이 이러한 class 이다. 변경 불가능한 클래스는 ...