객체 (3) 썸네일형 리스트형 DTO는 왜? 언제 사용할까? DTO란 Data Transfer Object의 약어로, 데이터 전송 객체를 의미한다. 즉, 계층 간 데이터 전송을 위해 사용되는 객체이며 Entity의 사본이라고 할 수 있다.Entity는 DB에서 나온 데이터의 원본이자 곧 DB로 들어갈, 연산이 끝난 후 원본이 될 객체를 의미한다. 하지만 우리는 그동안 DTO를 사용하지 않고도 충분히 API를 만들 수 있었다. 그런데 왜 개발자들은 하나의 객체, 데이터가 Repository까지 들어가면 무슨 단점이 있기에 DTO를 사용하는 걸까? 1. 필요 없는 데이터에 불필요한 접근 발생DTO를 사용하지 않고 객체를 그대로 전달하면, 필요하지 않은 컬럼에도 접근하게 된다. 이는 보안 문제를 발생시킬 수 있고, 성능 저하로 이어질 수 있다. 2. 불필요한 데.. 스프링 Core? 인간에게도 코어 근육이 중요한 것처럼 스프링에서의 코어도 매우 중요하다.그렇다면 스프링 코어는 어떤 것들이 있을까? IoC (Inversion of Control) 제어의 역전?짧게 한 줄로 요약하자면 개발자가 아닌 스프링 컨테이너에게 설정을 통해 제어권을 넘기는 것이다.나는 역전을 역할의 전환으로 표현하고 싶다.즉, 원래 개발자가 가진 통제권을 180도 상황이 바뀌어 스프링이 가지게 되어 객체(스프링 빈)를 제어한다. 컨테이너 IoC/DI/스프링 컨테이너는 무엇일까?컨테이너 박스를 생각하자그럼 무엇이 담겨 있을까? 그동안 객체를 만 번은 얘기한 것 같다. 참고로 컨테이너도 객체이다. 객체에 객체들이 모여있다. 스프링 빈 스프링 빈은 객체이다.즉, 위에서 언급한 컨테이너는 스프링 빈을 담는다. .. 다형성? ✅ 다형성 1. 하나의 타입에 여러 가지 객체를 담을 수 있다.2. 하나의 객체를 여러 가지 타입에 담을 수 있다. Java에서 다형성의 의미는 둘 중 무엇일까? 여러가지 형식(타입)에 하나의 객체가 들어갈 수 있다? 그렇다면 2번이 아닐까..? ⭐하나의 타입에 여러 가지 객체를 담는 예시 코드를 보자Phone phone = new Phone();Phone phone = new Galaxy(); 동일한 타입의 변수에 여러 가지 객체를 담을 수 있다.즉, Phone은 Galaxy와 iPhone을 둘 다 담을 수 있다. ⭐ 하나의 객체를 여러 가지 타입에 담는 예시 코드를 보자Phone phone = new Galaxy();Galaxy phone = new Galaxy(); 사실 위의 예시 .. 이전 1 다음