๐Ÿ’š Spring

[Spring] .toEntity() .toList() .toString()์ด๋ž€?

Genie_. 2024. 11. 5. 21:01
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“š .toEntity() .toList() .toString()์ด๋ž€?

1.    .toEntity()

  • ์˜๋ฏธ: ๊ฐ์ฒด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์—”ํ‹ฐํ‹ฐ(Entity) ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.
  • ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ:
    • ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด(DTO)๋ฅผ ์—”ํ‹ฐํ‹ฐ๋กœ ๋ณ€ํ™˜.
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์œ„ํ•ด ํŠน์ • ORM(Entity Framework ๋“ฑ)์—์„œ ์‚ฌ์šฉํ•  ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜.
  • ์˜ˆ์ œ : 
// DTO๋ฅผ ์—”ํ‹ฐํ‹ฐ๋กœ ๋ณ€ํ™˜
public UserEntity toEntity() {
    return new UserEntity(this.id, this.name, this.email);
}

 

์™œ .toEntity()๋ฅผ ์‚ฌ์šฉํ• ๊นŒ?

  1. ์ฑ…์ž„๋ถ„๋ฆฌ : DTO์™€ Entity๋Š” ์„œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๊ฐ€ ๋‹ค๋ฅด๋‹ค. DTO๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ๊ฐ์ฒด์ด๊ณ , Entity๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋งคํ•‘๋œ๋‹ค. ์ด๊ฒƒ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€ํ™˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  2. ์žฌ์‚ฌ์šฉ์„ฑ : ๋ณ€ํ™˜ ๋กœ์ง์„ ๋ฉ”์„œ๋“œ๋กœ ์ •์˜ํ•˜๋ฉด ์–ด๋””์„œ๋‚˜ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ๊ฐ€๋…์„ฑ : toEntity()๋ผ๋Š” ์ด๋ฆ„๋งŒ์œผ๋กœ๋„ ์ด ๋ฉ”์„œ๋“œ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

2.    .toList()

  • ์˜๋ฏธ: ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์ŠคํŠธ(List) ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.
  • ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ:
    • ๋ฐฐ์—ด, ์ปฌ๋ ‰์…˜, ์ŠคํŠธ๋ฆผ ๋˜๋Š” ๊ธฐํƒ€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ List๋กœ ๋ณ€ํ™˜.
    • Kotlin์—์„œ๋Š” ํŠน์ • ์ปฌ๋ ‰์…˜์„ ๋ฆฌ์ŠคํŠธ๋กœ ์บ์ŠคํŒ…ํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉ๋จ.
  • ์˜ˆ์ œ:
// Java์—์„œ Stream์„ List๋กœ ๋ณ€ํ™˜
List<String> list = stream.collect(Collectors.toList());

 

 


3.    .toString()

  • ์˜๋ฏธ: ๊ฐ์ฒด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž์—ด(String)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.
  • ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ:
    • ๊ฐ์ฒด์˜ ๋ฌธ์ž์—ด ํ‘œํ˜„์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.
    • ๋””๋ฒ„๊น… ๋ฐ ๋กœ๊น….
  • ๊ธฐ๋ณธ ๋™์ž‘:
    • Java์—์„œ๋Š” ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ toString() ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
    • ๊ธฐ๋ณธ ๊ตฌํ˜„์€ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ํ•ด์‹œ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ, ์ด๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฌธ์ž์—ด ํ‘œํ˜„์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ์ œ:
@Override
public String toString() {
    return "User{id=" + id + ", name='" + name + "'}";
}

 

728x90
๋ฐ˜์‘ํ˜•