DTO(๋ฐ์ดํฐ ์ ์ก ๊ฐ์ฒด)๋ ํนํ ๋ถ์ฐ ๋๋ ์๋น์ค ์งํฅ ์์คํ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ๊ณ์ธต๊ณผ ๊ตฌ์ฑ ์์ ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ์ฉ์ดํ๊ฒ ํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ๋์์ธ ํจํด์ ๋๋ค. ์ด๋ ์ ์ก๋๋ ๋ฐ์ดํฐ๋ฅผ ์บก์ํํ๋ ์ปจํ ์ด๋ ์ญํ ์ ํ๋ฉฐ ํ์ ์์คํ ๊ฐ ๋๋ ๋ค์ค ๊ณ์ธต ์์คํ ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฑ ๋ค์ํ ์ํคํ ์ฒ ๊ฒฝ๊ณ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ฐ๋จํ๊ณ ๊ฐ๋ณ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
DTO์ ์ฃผ์ ๋ชฉ์ ์ ๋คํธ์ํฌ๋ฅผ ํตํด ๋๋ ์์คํ ๊ตฌ์ฑ ์์ ๊ฐ์ ์ ์กํด์ผ ํ๋ ๋ฐ์ดํฐ์ ์์ ์ต์ํํ๋ ๊ฒ์ ๋๋ค. DTO๋ ์ผ๋ฐ์ ์ผ๋ก ํน์ ํต์ ์๋๋ฆฌ์ค์ ํ์ํ ํ์ ๋ฐ์ดํฐ ํ๋๋ง ํฌํจํ๊ณ ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋์์ด๋ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ๋ ํฌํจํ์ง ์๋ ์ผ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋๋ ํด๋์ค๋ก ๊ตฌํ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ํ์ด๋ก๋๊ฐ ๊ฐ๋ฅํ ํ ์๊ฒ ์ ์ง๋์ด ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ์ด ์ค์ด๋ค๊ณ ์์คํ ์ ์๋ต์ฑ๊ณผ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
DTO๋ ๋คํธ์ํฌ ๋์ญํญ์ด ์ ํ๋๊ฑฐ๋ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ๊ตฌ์ฑ ์์ ๊ฐ์ ํธ๋ํฝ์ ์ต์ํํ๋ ๊ฒ์ด ์์คํ ์ฑ๋ฅ์ ์ค์ํ ์ํฉ์์ ํนํ ์ ์ฉํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋งค์ฐ ํจ์จ์ ์ด๊ณ ์ปดํฉํธํ ํ์์ผ๋ก ๋ฌถ์์ผ๋ก์จ DTO๋ ํ์ํ ํต์ ๋์ ๋ํญ ์ค์ฌ ๋คํธ์ํฌ ๋ถํ์ ์ ๋ฐ์ ์ธ ์์คํ ๋ณต์ก์ฑ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
ํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ์์ DTO์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก ์ค ํ๋๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ตํ์ ํฌ๊ฒ ์์กดํ๋ RESTful ์น ์๋น์ค ๊ตฌํ์ ๋๋ค. DTO๋ ์ข ์ข HTTP ์์ฒญ ๋๋ ์๋ต์ JSON ๋๋ XML ํ์ด๋ก๋๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ๊ณ์ธต ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ง๋ ฌํ ๋ฐ ์ญ์ง๋ ฌํํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ DTO๊ฐ ํน์ ์์ฒญ ๋๋ ์๋ต ์คํค๋ง์ ์ง์ ๋งคํ๋์ด ์ ์ฒด ํต์ ํ๋ก์ธ์ค์์ ๋ฐ์ดํฐ๊ฐ ์ ํํ๊ฒ ๋ชจ๋ธ๋ง๋๊ณ ์ ํ์ด ํ์ธ๋๋ฏ๋ก ์ ์ฒด ๊ตฌํ์ ํฌ๊ฒ ๋จ์ํํ ์ ์์ต๋๋ค.
DTO ์ฌ์ฉ์ ๋ ๋ค๋ฅธ ์ฃผ์ ์ด์ ์ ์์คํ ์ํคํ ์ฒ ๋ด์์ ๊ด์ฌ์ฌ๋ฅผ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ ํํ์ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ ๋ฐ ๋์๊ณผ ๋ณ๋๋ก ์ ์งํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฝ๋๋ฅผ ๋ ์ ๊ตฌ์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ ๋ค์ํ ๊ตฌ์ฑ ์์ ๊ฐ์ ์ข ์์ฑ๊ณผ ๊ด๊ณ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ด๋ ค์ธ ์ ์๋ ํฌ๊ณ ๋ณต์กํ ์์คํ ์์ ์์ ํ ๋ ํนํ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ์ํ no-code ํ๋ซํผ์ธ AppMaster ๋ DTO๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ๊ตฌ์ฑ ์์ ๊ฐ์ ์ํํ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ๋ฐฑ์๋, ์น ๋๋ ๋ชจ๋ฐ์ผ ๋ถ๋ถ์ ๋ํด ์์ฑ๋ ๊ฐ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ ์ฌ๋ฌ DTO์ ํตํฉ๋์ด ์์ฒญ ๋ฐ ์๋ต ํ์ด๋ก๋๋ฅผ ๋ชจ๋ธ๋งํ์ฌ ์ ์ฒด ์์คํ ์์ ์ผ๊ด๋ ๋ฐ์ดํฐ ํํ์ ๋ณด์ฅํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ต์ํํ๊ณ ํ๋ซํผ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ต์ ์ ์ฑ๋ฅ์ ๋ณด์ฅํฉ๋๋ค.
DTO๋ ๋ฐ์ดํฐ ์ ์ก ๋ ผ๋ฆฌ๋ฅผ ์ถ์ํํจ์ผ๋ก์จ ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง ๊ด๋ฆฌ์ฑ์ ํฅ์์ํฌ ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋์ฑ ํจ์จ์ ์ผ๋ก ๋ง๋ญ๋๋ค. AppMaster ์ DTO ์ฌ์ฉ์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ์์ ๊ฐ์ ํต์ ์ ๋จ์ํํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋ฎ์ ์์ค์ ๋ฐ์ดํฐ ์กฐ์ ์์ ์ผ๋ก ์ธํด ๋ฐฉํด๋ฅผ ๋ฐ์ง ์๊ณ ํต์ฌ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ ๋ฐ ์๊ตฌ ์ฌํญ์ ์ง์คํ ์ ์๋๋ก ํฉ๋๋ค.
AppMaster ์ DTO ํ์ฉ์ ๋ํ ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ๋์ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ค ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํฉ๋๋ค. ํ๋ซํผ์ ๋งค๋ฒ ์ฒ์๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์ ์ ๋ถ์ฑ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ด๋ ์์ ์ฑ์ ์ ํ์ํค์ง ์๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฑฐ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ ๋ฐ์ดํธํ๊ธฐ๊ฐ ์ฝ์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก DTO(๋ฐ์ดํฐ ์ ์ก ๊ฐ์ฒด)๋ ํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ์์ ์ค์ํ ์ญํ ์ ํ๋ฉฐ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ์์ ๋๋ ํ์ ์์คํ ๊ฐ์ ํจ์จ์ ์ด๊ณ ๊ฐ๋ฒผ์ด ํต์ ์๋จ์ ์ ๊ณตํฉ๋๋ค. DTO๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ์ฐ ์์คํ ์ ์ฑ๋ฅ์ ํฌ๊ฒ ์ต์ ํํ๊ณ , ๋คํธ์ํฌ ํธ๋ํฝ์ ์ต์ํํ๋ฉฐ, ๋ฌธ์ ๋ฅผ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํ์ฌ ๊นจ๋ํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์ด์งํ ์ ์์ต๋๋ค. AppMaster ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ DTO๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ์๊ฐ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ์ง์ํ๋ ๊ฐ๋ ฅํ no-code ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค.