πŸ’»

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