자바의 느슨한 결합에 대해 알아야 할 모든 것



이 기사는 예제와 함께 Java에서 Loose Coupling을 구현하는 방법에 대한 상세하고 포괄적 인 지식을 제공합니다.

다른 요소가 한 요소를 직접 사용하는 정도를 커플 링 객체 지향 디자인에서. 이 기사에서는 Loose Coupling을 다음 순서로 :

자바의 커플 링 유형

커플 링에는 두 가지 유형이 있습니다.





  • 타이트 커플 링 : 오브젝트가 사용할 오브젝트를 생성 할 때 호출됩니다. 단단한 결합 .
  • 느슨한 결합 : 객체가 외부 소스에서 사용할 객체를 가져 오면이를 느슨한 결합 .

이 기사에서는 Java의 느슨한 결합을 살펴보고 구현 방법을 살펴 보겠습니다.

Java에서 Loose Coupling이란 무엇입니까?

객체가 외부 소스에서 사용할 객체를 가져 오면이를 느슨한 결합 .



즉, 느슨한 결합은 객체가 독립적임을 의미합니다. 느슨하게 결합 된 코드는 유지 및 노력. 이것은 느슨하게 결합 된 코드에 의해 제거 된 단단히 결합 된 코드의 단점이었습니다.

자바의 느슨한 결합

두 개의 클래스 A와 B가 있다고 상상해보십시오. 클래스 A에는 인터페이스를 통해 노출 된 클래스 B에 대한 정보가 거의 없습니다.그런 다음 클래스 A와 B는 느슨한 결합 .



느슨한 결합을위한 코드 :

import java.io.IOException 인터페이스 Animal {public void display ()} class Dog {Animal s public Dog (Animal s) {this.s = s} public void display () {System.out.println ( 'Dog') s .display ()}} class Cat은 Animal {public Cat () {} public void display () {System.out.println ( 'Cat')}}를 구현합니다. class Cow는 Animal {public Cow () {}를 구현합니다. public void display ( ) {System.out.println ( 'Cow')}} public class Test {public static void main (String args []) throws IOException {Animal b = new Cat () Animal c = new Cow () Dog a = new Dog (b) //a.display ()는 dog와 cat을 인쇄합니다. a.display () Dog a1 = new Dog (c) //a.display ()는 dog와 Cow를 인쇄합니다. a1.display ()}}

산출:

ansible과 chef의 차이점

설명:

위 코드의 세 클래스는 모두 느슨하게 결합됩니다. 동물 인터페이스를 사용하여구현 된 클래스를 주입하여 ben 사용자에게 서비스를 제공합니다.

tableau에서 매개 변수를 만드는 방법

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

  • 느슨한 결합은 단단한 결합보다 더 나은 테스트 가능성을 가지고 있습니다.

  • 느슨한 결합은 인터페이스에 대한 프로그램의 GOF 원칙을 따르고 구현하지 않지만 긴밀한 결합은 인터페이스의 개념을 제공하지 않습니다.

  • 느슨한 결합에서는 두 클래스간에 코드 / 객체를 쉽게 교체 할 수 있지만 긴밀한 결합에서는 쉽지 않습니다.

  • 느슨한 결합은 매우 변경 가능하지만 타이트 결합은 그렇지 않습니다.

결론적으로, 타이트 커플 링은 코드의 유연성과 재사용 성을 감소시키기 때문에 느슨한 커플 링에 비해 훨씬 나쁘고, 타이트 커플 링에서는 변경 작업도 매우 어렵습니다. 타이트 커플 링의 모든 단점은 느슨한 커플 링에서 제거되었습니다.

이것으로 우리는이 Loose Coupling In Java 기사를 마칩니다. 커플 링이 어떻게 작동하는지 그리고 Loose Coupling이 무엇인지 이해 하셨기를 바랍니다.

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

질문이 있으십니까? 이 'Loose Coupling In Java'블로그의 댓글 섹션에 언급 해 주시면 최대한 빨리 답변 드리겠습니다.