Association in Java 란 무엇이며 왜 필요합니까?



Java에서의 연관에 관한이 기사는 Java로 코딩 할 때 객체를 통해 두 클래스 간의 연결을 설정하는 방법을 이해하는 데 도움이됩니다.

글을 쓸 때 두 클래스 간의 연결을 어떻게 설정합니까? 자바 프로그램 ? 간단 해. 연관이라는 개념을 사용할 수 있습니다. 흥미 롭죠? 이 기사에서는 협회를 확인해 보겠습니다. 상세히.

문자열을 배열 PHP로 변환

이 기사에서 다루는 주제는 다음과 같습니다.





협회는 무엇입니까?

Java에서의 연관은 두 개의 개별 클래스 그것은 그들의 통해 설정 사물 . 연관 관계는 객체가 서로를 아는 방식과 서로의 기능을 사용하는 방식을 나타냅니다. 일대일, 일대 다, 다 대일 및 다 대다 일 수 있습니다.

자바 협회-Edureka



  • 예를 들면한 사람은 하나의 여권 만 가질 수 있습니다. 그것은 ' 1-1 ”관계.
  • 은행과 직원의 연관성에 대해 이야기하면 은행에는 많은 직원이있을 수 있습니다. 일대 다 ”관계.
  • 마찬가지로 모든 도시는 정확히 하나의 주에 있지만 한 주에는 여러 도시가있을 수 있습니다. 다 대일 ”관계.
  • 마지막으로 교사와 학생 간의 연관성에 대해 이야기하면 여러 학생을 단일 교사와 연관시킬 수 있고 단일 학생을 여러 교사와 연관시킬 수도 있지만 둘 다 독립적으로 생성하거나 삭제할 수 있습니다. 이것은 ' 다 대다 ”관계.

예를 들어 연관에 대해 이해합시다.

package MyPackage import java.util. * class CityClass {private String cityName public String getCityName () {return cityName} public void setCityName (String cityName) {this.cityName = cityName} @Override public String toString () {return cityName}} class 상태 {private String stateName 목록 도시 public String getStateName () {return stateName} public void setStateName (String stateName) {this.stateName = stateName} public List getCities () {return citys} public void setState (List citys) {this.citys = citys}} public class AssociationExample {public static void main (String [] args) {State state = new State () state.setStateName ( 'California') CityClass city = new CityClass () city.setCityName ( 'Los Angeles') CityClass city2 = new CityClass () city2.setCityName ( 'San Diago') 목록 empList = new ArrayList () empList.add (city) empList.add (city2) state.setState (empList) System.out.println (state.getCities (] + '는'+ state.getStateName ())}}주의 도시입니다.

산출:

[로스 앤젤레스, 샌디 아고]는 캘리포니아주의 도시입니다.



보시다시피이 예제 프로그램에는 두 개의 클래스가 있습니다. 도시. 이 두 개의 개별 클래스는 사물 . 더욱이 모든 도시는 정확히 하나의 주에 존재하지만 한 주에는 많은 도시가있을 수 있으므로 '다 대일'관계라는 용어가 사용됩니다. 중요한 것은 Java의 연관에는 두 가지 특별한 형식이 있습니다. 확인해 보겠습니다.

두 가지 형태의 연합

구성 집합 두 가지 특별한 형태의 연합입니다. 예제의 도움을 받아 확인해 보겠습니다.

구성

이것은'소속'유형협회. 단순히 객체 중 하나가 다른 객체를 포함하는 논리적으로 더 큰 구조임을 의미합니다. 즉, 더 큰 개체의 일부 또는 구성원입니다. 또는 종종 'has-a'관계 ( 'is-a'관계와는 반대로 ).

에 대한예를 들어 건물에는 방이 있습니다. 즉, 방은 건물에 속합니다. 구성 객체의 수명주기가 연결되어 있기 때문에 강력한 'has-a'관계입니다. 이는 소유자 객체를 파괴하면 그 구성원도 함께 파괴된다는 것을 의미합니다. 예를 들어 건물이 파괴되면 이전 예제에서도 방이 파괴됩니다. 하지만 그렇다고해서 포함하는 객체는 그 부분없이 존재할 수 없다는 의미는 아닙니다. 예를 들어 건물 내부의 모든 방을 허물어도 건물은 여전히 ​​존재합니다.

집합

또한 집계는 'has-a'관계이지만 구성과 구별되는 점은 개체의 수명주기가 연결되어 있지 않다는 것입니다. 비 그렇지 않으면 항목이 개별적으로 생존 할 수 있습니다. 즉, 하나의 엔티티를 종료해도 다른 엔티티에는 영향을주지 않습니다. 둘 다 서로 독립적으로 존재할 수 있습니다. 따라서 종종 주 연관이라고합니다.

선수와 팀의 예를 들어 보겠습니다. 팀의 일부인 플레이어는 팀이 더 이상 존재하지 않아도 존재할 수 있습니다.집계가 필요한 주된 이유는 코드 재사용 성을 유지합니다.

자바에서 오버로딩 대 오버로딩

이것은 우리가 협회에 대해 배운이 기사의 끝으로 이동합니다. .

'Association in Java'에 대한이 기사가 관련이있는 경우 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사입니다. 질문이있는 경우 'Association in Java'의 댓글 섹션에있는 모든 질문을 자유롭게 물어보십시오. 저희 팀이 기꺼이 답변 해 드리겠습니다.