ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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;
    }

     

     

    이렇게 하나의 행위가 발생하여 어떤 객체에 속성에 영향을 주어 지는 것이 바로 객체간의 협력이라고 보면 됩니다. 객체간의 협력을 잘 이용하여 코딩하는것이 객체지향언어의 중요한 부분이니 잘 인지하고 생각해보고 실습해 보면 좋을 것같습니다.

    반응형

    댓글

Designed by Tistory.