java.lang 패키지에서 제공하는 쓰레드 범위 변수 스코프가 쓰레드 이므로 각 쓰레드 내에서만 공유 같은 쓰레드라면 서로 다른 메서드에서도 사용 가능 SecurityContextHolder의 기본 전략 public class AccountContext { private static final ThreadLocal ACCOUNT_THREAD_LOCAL = new ThreadLocal(); public static void setAccount(Account account) { ACCOUNT_THREAD_LOCAL.set(account); } public static Account getAccount() { return ACCOUNT_THREAD_LOCAL.get(); } }