예외처리
저도 공부중인데. 아마 런타임 예외 계열은 throws를 안해도 자동적으로 넘어갑니다. throws가 checked 예외들을 적어주고, 필요하다면(적지 않아도 로직에는 문제 없지만, 사용하는 사람에게 이런 예외가 발생할 수 있다는 사실을 알려주고 싶을 때) Runtime 계열이라도 적어주는거지 기본적으로는 runtime 계열 에외는 안적는걸로 알아요. 그래서 스프링에선 Repository관련 에러도 checked 예외(throws를 해줘야하는 예외, 종속성의 문제가 생김)을 DataAccessException(Runtime 예외를 상속 받은 예외, unchecked 예외)로 바꿔서 thorws를 제거할 수 있게 해줘서 종속성 문제를 해결한거고요. 결론적으론 RuntimeException은 throws를 안해도 계속 상위로 올라가는 예외인거죠