1. static 메서드와 필드만을 담은 클래스 쓰임새 기본 타입값이나 배열 관련 메서드들을 모아놓을 수 있다. 특정 인터페이스를 구현하는 객체를 생성해주는 정적 메서드를 모아놓을 수도 있다. final 클래스와 관련한 메서드들을 모아놓을 때도 사용한다. - final 클래스를 상속해서 하위 클래스에 메서드를 넣는 건 불가능하기 때문...
equals는 재정의하는게 쉽지 않다.각 인스턴스가 본질적으로 고유하다.인스턴스의 ‘논리적 동치성’을 검사할 일이 없다.클라이언트가 논리적 동치성을 검사하는 방식이 필요하지 않다고 생각한다면→ Object의 기본 eqauls만으로 해결된다.상위 클래스에서 재정의한 eq
인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다.전형적인 예로는 무상태 객체나 설계상 유일해야 하는 시스템 컴포넌트를 들 수 있다.클래스를 싱글턴으로 만들면 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있다.타입을 인터페이스로 정의한 다음 그 인터페이스를
쓰임새기본 타입값이나 배열 관련 메서드들을 모아놓을 수 있다.특정 인터페이스를 구현하는 객체를 생성해주는 정적 메서드를 모아놓을 수도 있다.final 클래스와 관련한 메서드들을 모아놓을 때도 사용한다. - final 클래스를 상속해서 하위 클래스에 메서드를 넣는 건 불
equals는 재정의하는게 쉽지 않다.각 인스턴스가 본질적으로 고유하다.인스턴스의 ‘논리적 동치성’을 검사할 일이 없다.클라이언트가 논리적 동치성을 검사하는 방식이 필요하지 않다고 생각한다면→ Object의 기본 eqauls만으로 해결된다.상위 클래스에서 재정의한 eq
제네릭을 사용하기 시작하면 수많은 컴파일러 경고를 보게 될것이다.예를 들어 비검사 형변환 경고, 비검사 메서드 호출 경고, 비검사 매개변수화 가변인수 타입 경고, 비검사 변환 경고 등이 있다.제네릭에 익숙해질수록 마주치는 경고 수는 줄겠지만 새로 작성한 코드가 한번에
다음은 컬렉션을 집합, 리스트, 그 외로 구분하고자 만든 프로그램이다.Others만 세 번 연달아 출력하는 이유는 아래와 같다.overloading된 세 classify 메서드 중 어떤 걸 호출할 지 컴파일타임에 정해지기 때문이다. 컴파일 타임에는 for 문 안의 c는