메서드에 synchronized을 걸면 그 부분은 임계영역이 되는 것은 알겠습니다.

그리고 모든 객체는 lock을 하나씩 가지고 있어서 synchronized을 적용한 부분을 들어가고 나갈때 lock의 획득과 반납이 자동으로 이루어진다고 하던데

여기서 lock이 어떤 객체의 lock인가요?

예를들어, A라는 클래스가 3개의 메서드가 있고, 그중에서 하나의 메서드만 synchronized걸려있을 때, A라는 클래스의 인스턴스가 synchronized실행한다면 그 인스턴스의 Lock이 획득되는 것인가요? 그러면 만약 다른 스레드에서 같은 인스턴스의 synchronized가 없는 다른 메서드를 동시에 호출한다면 lock때문에 실행이 block되어야 하는데 이건 아니지 않나요?