과도한 동기화는 성능을 떨어뜨리고, 교착상태에 빠뜨리고, 예측할 수 없는 동작을 낳기도 한다. 응답 불가와 안전 실패를 피하려면 동기화 메서드나 동기화 블록 안에서는 제어를 절대로 클라이언트에 양도하면 안 된다. 동기화된 영역 안에서는 재정의할 수 있는 메서드는 호출하면 안 되며, 클라이언트가 넘겨준 함수 객체를 호출해서도 안된다. 외계인 메서드 (Alien method) 외계인 메서드 (alien method) : 동기화된 영역을 포함한 클래스 관점에서 클라이언트가 넘겨준 함수 객체 또는 재정의할 수 있는 메서드 외계인 메서드가 하는 일에 따라 동기화된 영역은 예외를 일으키거나, 교착상태에 빠지거나, 데이터를 훼손할 수도 있다. 잘못된 코드 예시 - 동기화 블록 안에서 외계인 메서드 호출 클래스의 클라..