๐Ÿ’ป

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํด๋ž˜์Šค์˜ ๊ด€๊ณ„(Dependency, Association) ๋ณธ๋ฌธ

KITRI/JAVA

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํด๋ž˜์Šค์˜ ๊ด€๊ณ„(Dependency, Association)

๋˜ํšจ๋‹ˆ 2020. 5. 11. 14:32

ํด๋ž˜์Šค๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉ -> ์˜์กด๊ด€๊ณ„

 

 

๊ฐ์ฒด๋ฅผ ๋ฉค๋ฒ„๊ฐ์ฒด(ํ•„๋“œ)๋กœ ์‚ฌ์šฉ => ์—ฐ๊ด€๊ด€๊ณ„

์—ฐ๊ด€๊ด€๊ณ„

 

๊ด€๊ณ„(Relationship)

 

1. ์ •์˜ 

- ๊ตฌ์„ฑ์š”์†Œ๋“ค๊ฐ„์˜ ์˜๋ฏธ ์žˆ๋Š” ์—ฐ๊ด€์„ฑ์„ ํ‘œํ˜„

- ์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ž˜์Šค๋“ค๊ฐ„์˜ ๊ด€๊ณ„ ํ‘œํ˜„ ์‹œ ์‚ฌ์šฉ๋œ๋‹ค. 

 

2. ์ข…๋ฅ˜

  • ์ผ๋ฐ˜ํ™”๊ด€๊ณ„(Generalization Relationship)
  • ์‹ค์ฒดํ™”, ์‹คํ˜„ํ™” ๊ด€๊ณ„(Realization Relationship)
  • ์˜์กด๊ด€๊ณ„(Dependency Relationship)
  • ์—ฐ๊ด€๊ด€๊ณ„(Association Relationship)
    • ์ง‘ํ•ฉ์—ฐ๊ด€(Aggregation Relationship)
    • ๋ณตํ•ฉ์—ฐ๊ด€(Composition Relationship)

          -> ์ง‘ํ•ฉ์—ฐ๊ด€๊ด€๊ณ„์™€ ๋ณตํ•ฉ์—ฐ๊ด€๊ด€๊ณ„๋Š” ์„ค๊ณ„์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. 

 

 

 

 

Dependency(์˜์กด๊ด€๊ณ„)

 

  • ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๊ฐ™๋‹ค.
  • ํด๋ž˜์Šค ์•ˆ์— ๋ฉ”์†Œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋˜๋Š” ๋ฆฌํ„ดํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด์ธ ๊ฒฝ์šฐ
  • ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ ์˜์กด๊ด€๊ณ„์˜ ํด๋ž˜์Šค์˜ ๋‚ด์šฉ๋„ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ๋˜๋Š” ๊ด€๊ณ„)

 

Association(์—ฐ๊ด€๊ด€๊ณ„)

๋‹จ๋ฐฉํ–ฅ ๊ด€๊ณ„ 

 

๊ตฌ์กฐ์ดํ•ด๋ฅผ ์œ„ํ•ด ๋Œ€๋ฝ์ ์œผ๋กœ ์ž‘์„ฑ

  • ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค.
  • ํด๋ž˜์Šค ์•ˆ์— ๋ฉค๋ฒ„๋ณ€์ˆ˜๊ฐ€ ๊ฐ์ฒด์ธ ๊ฒฝ์šฐ(๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ตฌ์„ฑ์š”์†Œ)
  • ์–‘๋ฐฉํ–ฅ์€ ์‹ค์„ ์œผ๋กœ ๋‹จ๋ฐฉํ–ฅ์€ ํ™”์‚ดํ‘œ๋กœ ํ‘œ์‹œํ•œ๋‹ค. 
  • ๋‹จ๋ฐฉํ–ฅ(Unidirectional Association) : ํ•œ ์ชฝ์€ ์•Œ์ง€๋งŒ ๋‹ค๋ฅธ ์ชฝ์€ ํ•ด๋‹น ๊ฐ์ฒด์˜ ์กด์žฌ๋ฅผ ๋ชจ๋ฅธ๋‹ค. 

 

๋‹จ๋ฐฉํ–ฅ์€ ํ™”์‚ดํ‘œ๋กœ ํ‘œ์‹œ

 

๊ตฌ์กฐ์ดํ•ด๋ฅผ ์œ„ํ•ด ๋Œ€๋ฝ์ ์œผ๋กœ ์ž‘์„ฑ

 

  • ์–‘๋ฐฉํ–ฅ(Bidirectional Association) : ๋‘ ํด๋ž˜์Šค๊ฐ€ ์„œ๋กœ์˜ ๊ฐ์ฒด๋ฅผ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋กœ ๊ฐ€์ง„ ๊ฒฝ์šฐ
Mulriplicity ๊ฐ’ ์„ค๋ช…
1 1๊ฐœ
0...1 0 ๋˜๋Š” 1๊ฐœ
* ๋‹ค์ˆ˜
1...* 1 ๋˜๋Š” ๋‹ค์ˆ˜

์•„๋ฌด๋Ÿฐ ํ‘œ์‹œ๊ฐ€ ์—†์œผ๋ฉด 1:1 ๊ด€๊ณ„

์–‘๋ฐฉํ–ฅ์€ ์‹ค์„ ์œผ๋กœ ํ‘œ์‹œ
๊ตฌ์กฐ์œ„ํ•ด๋ฅผ ์œ„ํ•ด ๋Œ€๋ฝ์ ์œผ๋กœ ์ž‘์„ฑ

 

๋ฐ˜์‘ํ˜•
Comments