본문 바로가기

SpringBoot

9월28일 SpringBoot 객체 협력관계

객체의 협력관계

1.혼자 존재하는 객체란 존재하지 않는다.

2.요청 (클라이언트) , 서버의 응답 등 수많은 객체 클라이언트와 객체 서버는 서로 협력관계로 만들어진다.

 

자바는 다형성을 오버라이딩으로 구현한다.

 

다형성에서 부모객체는 자식객체를 포함할 수 있다.

반대로 자식객체는 부모 객체를 포함할 수 없다.

 

다형성의 본질

1.인터페이스를 구현한 객체 인스턴스를 실행시점에 같은 인터페이스를 구현한 다른 객체 인스턴스로 유연하게 변경할 수 있다.

2.다형성의 본질을 이해하려면 "협력"이라는 객체 사이의 관계에서부터 시작해야 한다.

3.클라이언트의 코드는 변경하지 않고 서버의 구현기능(서비스)을 유연하게 변경할 수 있어야 한다.

 

클라이언트를 건드리지 않고 변경하는게 다형성의 가장 중요한 포인트다.

 

다형성 역활과 구현의 분리

1.실세계에 역활과 구현 이라는 편리한 컨셉을 다형성을 통해 객체의 세상에 가져올 수 있다.

2.다형성을 사용하면 유연하게 변경이 용이하다.

3.이후 확장이 가능하도록 설계할 수 있다.

4.클라이언트에 영향을 주지않고 변경을 할 수 있다.

5.인터페이스를 안정적으로 잘 설계하는것이 중요하다. 다형성은 인터페이스가 무너지면 이루이지지 않는다.