멀티스레드 환경에서 데이터 일관성을 유지하고 동시성을 제어하기 위해 **락(Lock)**을 사용함.락을 적용하는 방식에는 크게 **비관적 락(Pessimistic Lock)**과 **낙관적 락(Optimistic Lock)**이 있음. 📌 1. 동시성(Concurrency) 문제란?여러 개의 스레드(또는 프로세스)가 같은 데이터를 동시에 접근할 때, 데이터 일관성이 깨지는 문제를 의미함.예를 들어, 은행 계좌에서 잔액을 조회하고 동시에 출금하는 경우를 생각해보자. ✅ 예제 (동시성 문제) 1. 스레드 A: 계좌 잔액 조회 → 100,000원 2. 스레드 B: 계좌 잔액 조회 → 100,000원 3. 스레드 A: 50,000원 출금 → 50,000원 남음 4. 스레드 B: 30,000원 출금 → 70,0..