기능적으로는 동일함 - 모두 스프링 컨테이너에 Bean 등록의미적 차이가 핵심 - 코드 가독성과 유지보수성예외 처리에서 차이 - @Repository만 특별한 기능 있음[어노테이션별 특징]@Component가장 기본적인 어노테이션범용적으로 사용다른 세 개 어노테이션의 부모격@Componentpublic class UtilComponent { // 유틸리티성 클래스}@Service비즈니스 로직 처리Service 계층에서 사용@Component를 상속받음@Servicepublic class UserService { // 비즈니스 로직}@Repository데이터 접근 계층DAO 클래스에 사용예외 변환 기능 추가 (중요!)@Repositorypublic class UserRepository { ..