-
[Java 객체지향 입문 ] 객체간의 협력프로그래밍/Java 2022. 3. 17. 13:07반응형
객체간의 협력이란?
저는 객체간의 협력이 일상생활에서 사용되는 협력관계를 코드로 구현하기 위한 노력이라고 생각합니다. 바로 예로 보시는게 이해하기 빠를 것같습니다.
학생이 도서관에서 2권의 책을 빌렸다고 생각해 봅시다. 그럼 이 부분을 코드로 구현하기 위해서는 학생, 도서관이라는 객체가 필요 하며 둘다 책이라는 속성이 필요 합니다. 객체를 만든 코드를 보면 아래와 같이 작성 할 수 있습니다.
//Student.java public class Student{ String studentName; int bookCount; public Student(String studentName, int bookCount) { this.studentName = studentName; this.bookCount = bookCount; } } //Library.java public class Library{ String libraryId; int bookCount; public Library(String libraryId, int bookCount) { this.libraryId = libraryId; this.bookCount = bookCount; } }
여기서 학생이 책을 빌리는 함수를 구현해 보도록 하겠습니다. 학생이 책을 빌리는 행위를 했다고 하면 도서관에서는 책이 나가는 행위가 필요 합니다.
//Student.java public void borrow(Library library, int bookCount) { this.bookCount += bookCount; library.borrow(bookCount); } //Library.java public void borrow(int bookCount) { this.bookCount -= bookCount; }
이렇게 하나의 행위가 발생하여 어떤 객체에 속성에 영향을 주어 지는 것이 바로 객체간의 협력이라고 보면 됩니다. 객체간의 협력을 잘 이용하여 코딩하는것이 객체지향언어의 중요한 부분이니 잘 인지하고 생각해보고 실습해 보면 좋을 것같습니다.
반응형'프로그래밍 > Java' 카테고리의 다른 글
[Java Overriding] 오버라이딩과 다형성 (0) 2022.03.20 [Java ] 클래스 상속 및 상속을 사용하는 이유 (0) 2022.03.20 [Java] 객체지향언어 입문 (0) 2022.03.16 eclipse font 변경하기 (0) 2022.03.16 JAVA 생성자란? (인스턴스, 멤버변수, 초기화, 필드) (0) 2019.09.24