자바에서의 구성은 클래스들 간의 has-a 관계를 구현하는 디자인 기법입니다. 코드 재사용을 위해 자바에서는 자바 상속 또는 객체 구성을 사용할 수 있습니다.
자바에서의 구성
자바에서의 구성은 다른 객체를 참조하는 인스턴스 변수를 사용하여 달성됩니다. 예를 들어,
Person
은 Job
을 가집니다. 이를 자바 구성 예제 코드로 살펴보겠습니다.
자바 구성 예제
package com.journaldev.composition;
public class Job {
private String role;
private long salary;
private int id;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public long getSalary() {
return salary;
}
public void setSalary(long salary) {
this.salary = salary;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
package com.journaldev.composition;
public class Person {
// 구성 has-a 관계
private Job job;
public Person(){
this.job=new Job();
job.setSalary(1000L);
}
public long getSalary() {
return job.getSalary();
}
}
여기 자바 구성 예제에 대한 테스트 클래스가 있습니다. 이 클래스는 사람 객체를 사용하고 그의 급여를 얻습니다.
package com.journaldev.composition;
public class TestPerson {
public static void main(String[] args) {
Person person = new Person();
long salary = person.getSalary();
}
}
자바 구성의 장점
위의 자바 구성에 대한 테스트 프로그램은 Job 객체의 변경에 영향을받지 않습니다. 코드 재사용과 두 클래스 간의 관계가 has-a인 경우 상속보다는 구성을 사용해야합니다. 자바에서 구성을 사용하는 이점은 다른 객체의 가시성을 클라이언트 클래스에 제어 할 수 있고 필요한 것만 재사용할 수 있다는 것입니다. 또한 다른 클래스 구현에 변경 사항이 있는 경우, 예를 들어 getSalary
가 문자열을 반환하면 Person 클래스를 조정해야하지만 클라이언트 클래스는 변경할 필요가 없습니다. 구성은 필요할 때 백엔드 클래스를 생성 할 수 있도록 허용합니다. 예를 들어 Person
의 getSalary
메서드를 실행시에 Job 객체를 초기화하도록 변경할 수 있습니다. 자바 프로그래밍에서 가장 좋은 실천 방법 중 하나는 상속보다는 구성을 사용하는 것입니다. Composition vs Inheritance를 자세히 분석하려면이 게시물을 확인하십시오.
Java Composition Youtube Video
최근에 자바에서의 구성에 대해 자세히 설명하는 YouTube 비디오를 만들었습니다. 아래에서 시청해주세요. https://www.youtube.com/watch?v=VfTiLE3RZds 이것으로 자바에서의 구성 또는 자바 구성 예제에 대한 설명을 마칩니다. 애플리케이션 클래스를 디자인할 때 정보를 얻을 수 있는데 도움이 되기를 바랍니다. 참고: 위키백과 페이지
Source:
https://www.digitalocean.com/community/tutorials/composition-in-java-example