관계 있음 그리고 Is a Relationship은 가장 혼란스러운 두 가지 용어입니다. 이 기사에서는 다음 매개 변수에 초점을 맞출 것입니다.
자바에서 번호를 뒤집는 방법
Java에서 관계 있음 소개
Java에서 관계가 있음을 Composition이라고합니다. 코드 재사용을 위해 사용됩니다. 기본적으로 한 클래스의 인스턴스가 다른 클래스의 인스턴스 또는 동일한 클래스의 다른 인스턴스에 대한 참조를 가지고 있음을 의미합니다. 이 관계는 코드의 중복과 버그를 최소화하는 데 도움이됩니다.
작곡은 협회의 한 형태입니다. 연관은 객체를 통해 권한이 부여 된 두 개의 개별 클래스 간의 관계로 알려져 있습니다. 연관 형식은 다음과 같습니다.
1-1
일대 다
다 대일
다 대다
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을 나타냅니다.
자바에서 스캐너 사용
이는 단방향 연관 (단방향 관계)으로 알려져 있습니다. 예를 들어, 부서에 교사가있을 수 있지만 그 반대의 경우도 사실이 아니므로 본질적으로 단방향입니다.
이제 작곡에 대해 이야기하겠습니다.
구성은 두 개체가 서로 크게 의존하는 제한된 형태입니다. 두 개체 사이에 구성이있을 때 구성은 다른 개체 없이는 놓일 수 없습니다.
다음은 구성의 개념을 보여주는 라이브러리의 예입니다.
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의 관계가 있습니다'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.