탑레벨 클래스는 한 파일에 하나만 담자

2021-03-20

소스 파일 하나에 탑레벨 클래스를 여러 개 선언하더라도 컴파일러 에러가 나진 않는다. 하지만 아무런 득도 없고, 심각한 위험을 감수해야 할 수도 있다. 이렇게 하면 한 클래스를 여러 가지로 정의할 수 있으며, 그 중 어느것을 사용할지는 어느 소스 파일을 먼저 컴파일 하냐에 따라 달라지기 때문이다.

Read More

인터페이스는 구현하는 쪽을 생각해 설계하자

2021-03-02

자바 8 이전에는 기존 구현체를 깨뜨리지 않고는 인터페이스에 메서드를 추가할 방법이 없었다. 만약 메서드를 추가했다면, 그 인터페이스를 구현하고 있는 클래스들은 반드시 추가된 메서드를 구현해야 한다. 구현 클래스가 1개면 괜찮겠지만, 100개가 넘어가버리면, 100개 전부 메서드를 구현을 해줘야 한다.

Read More