본문 바로가기

티스토리챌린지3

[간단 정리] DTO란? Data Transfer Object(DTO)란 프로세스 간에 데이터를 전달하기 위해 만들어지는 객체를 의미한다.책임을 분리하기 위해 DTO를 활용하여 각 클래스 간에 데이터를 전송하거나, 혹은 프론트엔드와 백엔드 간 통신을 할 때에도 주로 DTO를 사용하곤 한다. 데이터 전송 도중 DTO의 값이 바뀔 수도 있다. 따라서 DTO 내부 속성들은 변하지 않도록 final 속성을 가지거나 Setter을 만들지 않는 것이 일반적이다. Java의 경우에는, record를 활용해서 손쉽게 불변 객체를 정의할 수도 있다. 2024. 11. 10.
[간단 정리] Mock 객체란? 단위 테스트를 진행할 때, 우리는 객체를 직접 생성해야만 그 객체가 가지고 있는 함수들을 테스트해볼 수 있다.간단한 객체라면 테스트 코드 내부에서 대충 생성해주면 되지만, 간혹 객체가 복잡해질 경우에는 쉽게 객체를 만들 수 없다. 이 때 사용하는 것이 Mock이다. Mock이란 실제로 DB에 연결하지 않고, 객체 그 모양만 그대로 가져와서 가짜 객체를 만들어준다. 그 중에서도 내가 필요로 하는 메서드만 가지고 올 수 있어서, 객체에 대한 단위 테스트를 굉장히 용이하게 할 수 있다. 예를 들면, 스프링 프로젝트에서 @Autowired로 다른 의존성을 주입받아 사용하는 객체를 테스트한다고 가정하자.그 객체는 뭐 테스트 코드에서 대충 만들 수 있다 쳐도, 내부에 있는 의존성까지 테스트 코드에서 작성해야 한다는.. 2024. 11. 9.
[간단 정리] SOLID 원칙 SOLID 원칙이란, JAVA에서 객체 지향 프로그래밍을 위해 고안된 5가치 주요 원칙을 의미한다.1. SRP (단일책임의 원칙)정의된 클래스는 하나의 책임(기능)만 가지도록 설계되어야 한다.여기서 책임이란, 클래스가 특정 메서드를 알고 있다는 것이다. 특정 메서드를 여러 클래스가 알고 있다면 SRP에 어긋난 코드라고 말할 수 있다.클래스를 변경하는 이유는 단 하나여야 한다.SRP를 준수하기 위해서는 각 클래스가 가진 책임을 최대한 분리하여야 한다.2. OCP (개방폐쇄의 원칙)클래스나 메서드는 확장에는 열려있고 변경에는 닫혀 있어야 한다.기존의 코드를 변경하지 않고도 기능을 수정하고 추가할 수 있어야 한다.OCP를 준수하기 위해서는 추상화와 다형성에 대해 이해하는 것이 중요하다.3. LSP (리스코브 .. 2024. 11. 8.
반응형