동기화 동기화란 멀티 쓰레드 환경에서 하나의 메서드 혹은 블록을 한 번에 하나의 쓰레드만 수행하도록 보장하는 것을 의미합니다. 싱글 쓰레드 환경에서는 동기화 걱정 안 해도 됨 멀티 쓰레드 환경에서는 여러 개의 쓰레드가 하나의 객체를 공유해서 사용하는 경우가 있으므로 동기화 처리 필요 1. 동기화 과정 한 객체가 일관된 상태를 가지고 생성되었을 때 해당 객체에 접근하는 메서드는 다른 쓰레드가 메서드를 실행할 수 없도록 락을 검 락을 건 메서드는 객체의 상태를 확인하거나 필요하면 수정 정리하자면 일관된 하나의 상태에서 다른 일관된 상태로 변화시킴 메서드 실행이 끝나면 락을 해제 2. 동기화 특징 동기화를 제대로 사용할 경우 어떤 메서드도 해당 객체의 상태가 일과되지 않은 순간을 목격할 수 없음 동기화가 없을..