알아야 할 모든 것은 Java에서 관계가 있습니다.



이 기사는 Has a relationship in java에 대한 상세하고 포괄적 인 지식을 제공하며 다양한 용도로 사용됩니다.

관계 있음 그리고 Is a Relationship은 가장 혼란스러운 두 가지 용어입니다. 이 기사에서는 다음 매개 변수에 초점을 맞출 것입니다.

자바에서 번호를 뒤집는 방법

Java에서 관계 있음 소개

Java에서 관계가 있음을 Composition이라고합니다. 코드 재사용을 위해 사용됩니다. 기본적으로 한 클래스의 인스턴스가 다른 클래스의 인스턴스 또는 동일한 클래스의 다른 인스턴스에 대한 참조를 가지고 있음을 의미합니다. 이 관계는 코드의 중복과 버그를 최소화하는 데 도움이됩니다.





작곡은 협회의 한 형태입니다. 연관은 객체를 통해 권한이 부여 된 두 개의 개별 클래스 간의 관계로 알려져 있습니다. 연관 형식은 다음과 같습니다.

  1. 1-1



  2. 일대 다

  3. 다 대일

  4. 다 대다



OOP (Object Oriented Programming)에서 Object는 다른 객체와 통신하여 해당 객체가 제공하는 모든 서비스와 기능을 사용합니다.

협회

다음은 협회 구현의 예입니다.

import java.io. * class Bank {private String name Bank (String name) {this.name = name} public String getBankName () {return this.name}} class Employee {private String name Employee (String name) {this. name = name} public String getEmployeeName () {return this.name}} class Association {public static void main (String [] args) {Bank b = new Bank ( 'Axis') Employee e = new Employee ( 'Himanshi') System.out.println (e.getEmployeeName () + '은'+ b.getBankName ())}}의 직원입니다.

산출:

has-a-relationship-in-java

이것은 다음과 같은 특별한 형태의 연관입니다.

  1. 이것은 Has-a-relationship을 나타냅니다.

    자바에서 스캐너 사용
  2. 이는 단방향 연관 (단방향 관계)으로 알려져 있습니다. 예를 들어, 부서에 교사가있을 수 있지만 그 반대의 경우도 사실이 아니므로 본질적으로 단방향입니다.

이제 작곡에 대해 이야기하겠습니다.

구성은 두 개체가 서로 크게 의존하는 제한된 형태입니다. 두 개체 사이에 구성이있을 때 구성은 다른 개체 없이는 놓일 수 없습니다.

다음은 구성의 개념을 보여주는 라이브러리의 예입니다.

import java.io. * import java.util. * class Book {public String title public String author Book (String title, String author) {this.title = title this.author = author}} class Library {private final List books Library (책 목록) {this.books = books} public List getTotalBooksInLibrary () {책 반환}} class edureka {public static void main (String [] args) {Book b2 = new Book ( 'Thinking Java', 'Brua E' ) Book b3 = new Book ( 'Java : Complete Reference', 'Herb S') List books = new ArrayList () books.add (b2) books.add (b3) Library library = new Library (books) List bks = library .getTotalBooksInLibrary () for (Book bk : bks) {System.out.println ( 'Title :'+ bk.title + 'and'+ 'Author :'+ bk.author)}}}

산출:

OOPS의 주요 장점 중 하나는 코드를 재사용 할 수 있다는 것입니다. 코드를 재사용 할 수있는 두 가지 방법이 있습니다.상속 또는 개체 구성에 의해.

구성과 상속 비교 : 관계

  • 상속보다 클래스를 변경하는 것이 구성에서 더 쉽습니다.

  • 상속은 정적 바인딩이고 컴포지션은 동적 바인딩입니다.

  • 클래스 상속은 컴파일 타임에 정의되는 반면 개체 구성은 런타임에 정의됩니다.

  • 개체 구성에서 내부 세부 정보는 서로 노출되지 않아야하며 공용 인터페이스에 의해 상호 작용하는 반면 Inheritance에서는 기본 클래스의 공용 및 보호 된 멤버를 모두 노출합니다.

    파이썬에서 바이너리로 변환하는 방법
  • 컴포지션에서는 액세스를 제한 할 수있는 반면 객체 컴포지션에서는 액세스 제어가 없습니다.

  • 상속에서는 하위 클래스를 상위 구현의 세부 정보에 노출하여 캡슐화를 해제하는 반면, 개체 구성에서는 개체가 인터페이스를 통해 완전히 액세스되기 때문에 캡슐화를 해제하지 않습니다.

  • Inheritance에서는 코드 재사용 성을 제공하는 반면, Object Composition에서는 연관성을 나타낼 수 있습니다.

예 1 :

class Operation {int square (int n) {return n * n}} class Circle {Operation op // aggregation double pi = 3.14 double area (int radius) {op = new Operation () int rsquare = op.square (radius) // 코드 재사용 성 (즉, 메서드 호출을 위임). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

산출:

예 2 :

class House {Kitchen k = new Kitchen () // 집 클래스에 대한 추가 코드} Class Kitchen {// 주방 클래스 코드}

집이 파괴되면 부엌도 파괴됩니다. 이것은 두 개체가 서로 의존 할 때 구성이라고합니다. 참조 클래스 (Kitchen)는 컨테이너 클래스 (House)없이 존재할 수 없습니다.

이것으로 우리는이 Has A Relationship In Java 기사를 끝 맺는다. 기본적으로 컴포지션에서 클래스는 재사용하려는 클래스의 객체에 대한 참조를 생성하여 클래스의 기능을 재사용 할 수 있습니다. 이를 집계의 특수한 경우라고합니다.

도대체 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다.

질문이 있으십니까? 이 'Java의 관계가 있습니다'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.