Java에서 Coupling이란 무엇이며 다른 유형은 무엇입니까?



Java에서의 커플 링은 한 클래스가 다른 클래스에 대해 알고있는 지식의 범위를 나타냅니다. 예제를 통해 Java에서 느슨한 결합과 긴밀한 결합을 배우십시오.

자바는 . Java에서의 결합은 Java로 작업 할 때 중요한 역할을합니다. 클래스사물 .기본적으로 한 클래스가 다른 클래스에 대해 알고있는 지식의 범위를 나타냅니다. 따라서이 기사에서는 예제와 함께 다양한 유형의 Java 커플 링에 대해 모두 배웁니다.

이 자습서에서는 다음 항목을 다룹니다.





의 시작하자.



자바 로고자바에서의 커플 링

객체가 다른 객체에서 사용될 수있는 상황을 커플 링이라고합니다. 함께 협력하고 서로를 위해 일하는 과정입니다. 이는 한 개체가 할당 된 작업을 완료하기 위해 다른 개체가 필요함을 의미합니다. 기본적으로 다른 개체에 의한 개체 사용이므로 모듈 간의 종속성이 줄어 듭니다. 한 클래스가 다른 클래스의 논리를 호출하면 협업이라고합니다.

커플 링 유형

Java의 Couling은 다음 두 가지 유형으로 더 나뉩니다.

그들 각각을 이해합시다.



타이트 커플 링 : 그것클래스 그룹이 서로 크게 의존하는 경우입니다. 이 시나리오는 클래스가 너무 많은 책임을 맡거나 하나의 관심사가 자체 클래스가 아닌 여러 클래스에 분산되어있을 때 발생합니다.개체가 사용을 위해 다른 개체를 만드는 상황을 다음과 같이합니다. 타이트 커플 링 . 부모 개체는 자식 개체에 대해 더 많이 알고 있으므로 두 개체는 단단히 결합 된 것으로 호출됩니다. 종속성 요소와 다른 사람이 객체를 변경할 수 없다는 사실은 밀접하게 결합 된 용어를 달성하는 데 도움이됩니다.

이제 예제를 통해 개념을 설명하겠습니다.

예: 두 개의 클래스를 만들었다 고 가정합니다. 첫 번째 클래스는 Volume이라는 클래스이고 다른 클래스는 상자의 볼륨을 평가합니다. Volume 클래스에서 변경된 사항은 Box 클래스에 반영됩니다. 따라서 두 클래스는 서로 상호 의존적입니다. 이러한 상황을 특히 긴밀한 결합이라고합니다.

아래 표시된 코드는 긴밀한 결합의 구현 프로세스를 이해하는 데 도움이됩니다.

예 1 :

package tightcoupling class Volume {public static void main (String args []) {Box b = new Box (15, 15, 15) System.out.println (b.volume)}} class Box {public int volume Box (int length , int 너비, int 높이) {this.volume = 길이 * 너비 * 높이}}

산출:

3375

위의 예에서 두 클래스가 어떻게 결합되어 팀으로 작동하는지 확인할 수 있습니다. 이것은 Java에서의 긴밀한 결합의 간단한 예입니다.프로세스를 묘사하는 또 다른 예!

예 2 :

package tightcoupling public class Edureka {public static void main (String args []) {A a = new A () a.display ()}} class A {B b public A () {b = new B ()} public void display () {System.out.println ( 'A') b.display ()}} class B {public B () {} public void display () {System.out.println ( 'B')}}

산출:


느슨한 결합: 객체가 외부 소스에서 사용할 객체를 가져 오는 경우이를 느슨한 결합이라고합니다. 즉, 느슨한 결합은 객체가 독립적임을 의미합니다. 느슨하게 결합 된 코드는 유지 관리와 노력을 줄여줍니다. 이것은 느슨하게 결합 된 코드에 의해 제거 된 단단히 결합 된 코드의 단점이었습니다. Java에서 느슨한 결합의 몇 가지 예를 살펴 보겠습니다.

C ++의 범위 확인 연산자

예 1 :

package lc class Volume {public static void main (String args []) {Box b = new Box (25, 25, 25) System.out.println (b.getVolume ())}} final class Box {private int volume Box (int 길이, int 너비, int 높이) {this.volume = 길이 * 너비 * 높이} public int getVolume () {return volume}}

산출:

15625

예 2 :

package losecoupling import java.io.IOException public class Edureka {public static void main (String args []) throws IOException {Show b = new B () Show c = new C () A a = new A (b) a.display () A a1 = new A (c) a1.display ()}} interface Show {public void display ()} class A {Show s public A (Show s) {this.s = s} public void display () { System.out.println ( 'A') s.display ()}} 클래스 B 구현 Show {public B () {} public void display () {System.out.println ( 'B')}} 클래스 C 구현 Show {public C () {} public void display () {System.out.println ( 'C')}}

산출:




타이트 커플 링과 느슨한 커플 링의 차이점

타이트 커플 링느슨한 결합

더 많은 상호 의존성

덜 의존성,더 나은 테스트 능력

인터페이스에 프로그램의 GOF 원칙을 따릅니다.

인터페이스 개념을 제공하지 않습니다.

동기식 통신

비동기 통신

더 많은 조정,두 개체간에 코드 / 개체를 교체하는 것은 쉽습니다.

조정이 적고 쉽지 않음

이것으로 우리는이 '자바에서의 커플 링'기사의 끝으로 왔습니다. 나는유익한 정보를 찾으 셨기를 바랍니다. 더 자세한 정보를 원하시면 다른 게다가.

이제 Java의 기본 사항을 이해 했으므로 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 '의 코멘트 섹션에서 언급하십시오자바에서의 커플 링”블로그를 통해 가능한 한 빨리 답변을 드리겠습니다.