코틀린 스프링부트

    [토비의 스프링 3.1] 2장 테스트

    테스트란 무엇인가? 애플리케이션이 복잡해질 수록 변경을 어떻게 대응할지 전략을 짜는게 매우 중요해집니다. 이전 챕터에서는 변경에 조금 더 쉽게 대응할 수 있도록하는 객체지향 설계의 중요성과 그 방법에 대해 다루었는데요. 이번 챕터에서는 테스트 기술에 대해서 다루려고 합니다. 테스트는 왜 필요할까요? 만들어진 코드에 확신을 가질 수 있게 해줍니다. 변화에 유연하게 대처할 수 있는 자신감을 갖게 해줍니다. 테스트가 잘 구성되어 있다면 기존 코드에 변경이 발생하더라도 기존 기능이 여전히 잘 동작하는지 쉽게 검증할 수 있습니다. 그럼 테스트는 어떻게 해야 좋을까요? 테스트 설계 내 계좌에서 다른 사람에게 돈을 보내는 송금 서비스가 있다고 생각 해보겠습니다. 실제로는 이것보다 훨씬 복잡한 아키텍처를 가지겠지만 간..

    [토비의 스프링 3.1] 1장 오브젝트와 의존관계

    Reflection, Default Constructor Reflection을 이용해 오브젝트를 생성하기 때문에 Default Constructor가 필요하다고 이야기 함. 코드가 어떤식으로 작성되기 때문에 그런걸까? val someClass = SomeClass::class.java val constructors = someClass.getDeclaredConstructor() constructors.isAccessible = true val instance = constructors.newInstance() Class에 대한 Reference 획득 → 해당 Class의 생성자 획득 → 생성자를 사용할 수 있게끔 접근 지정자 public 으로 변경 → 생성자를 이용해 인스턴스 생성 이와 같이 Defau..