-
[Spring] 객체지향 4가지Framework/Spring 2021. 7. 16. 23:52
캡슐화- 캡슐화는 객체의 속성을 보호하기 위해 사용
- Method 설계
- 속성이 선언되었으나 이의 상태를 변경하는 Method가 없다면 잘못 선언된 속성이다.
- 실물 객체가 가진 기능을 모두 제공해주어야 한다.
- 각각의 Method는 서로 관련성이 있어야 한다.
- 객체 안의 Method는 객체 안의 속성을 처리해야 하며, 다른 객체를 전달받아 해당 다른 객체에 정의 된 속성을 직접 처리하면 안된다.
- 단 Method에 실행에 필요한 값들은 객체의 형태가 아닌 매개변수의 형태로 전달되어져야한다. - 장점
- 객체 지향의 패러다임 중 하나인 추상화를 제공한다.
- 재 사용성 향상 - 무결성
- 보통의 캡슐화 코딩이라고 한다면, 주로 변수는 private로 선언하고 Method를 public으로 선언하는 형태를 가지게 된다.
- 이는 객체의 무결성을 위함이고, Getter/Setter를 제외 하고는 public method는 입력된 매개변수를 Validation을 한 후에 실행하는 것을 기본으로 한다.
- Validation을 통하여, 객체의 값을 바꾸거나, 값에 대해 유효성을 가질 수 있다.
상속
- 객체지향에서의 상속은, 속성의 상속이 아닌, 하위로 내려갈 수록 구체화 되는 것이다.
- 상속의 효과
- 프로그램의 구조에 대해 이해도가 향상 => 최상위 클래스의 구조를 보고, 하위 클래스의 동작을 이해할 수 있다.
- 재사용성 향상 => 상속을 이용하여, 해당 클래스에 필요한 속성 및 메소드를 모두 정의하지 않고, 상속을 받아서 사용할 수 있다.
- 확장성 향상 => 일관된 형태의 클래스 객체를 추가할 수 있어, 간단하게 프로그램 확장이 가능하다.
- 유지보수성 향상 => 각 객체마다, 자신의 메소드를 정의하고 있다면, 코드 수정에서 많은 작업이 필요하지만, 상속을 사용한 경우 일관된 형태로 작성이 가능하다.
다형성
- 다형성은 하나의 개체가 여러 개의 형태로 변화 하는 것을 말하며, 이를 객체지향에서도 유사하게 사용하고 있다.
- 다형성을 하기 위해서는 오버라이딩을 통해 가능하다.
추상화
- 객체지향에서의 추상화는 모델링이다.
- 구체적으로 공통적인 부분, 또는 특정 특성을 분리해서 재조합 하는 부분
'Framework > Spring' 카테고리의 다른 글
[Spring/디자인패턴] 어댑터 패턴 (0) 2021.07.18 [Spring/디자인패턴] 싱글톤 패턴 (0) 2021.07.18 [Spring/디자인패턴] 디자인패턴 (0) 2021.07.17 [Spring] 객체지향 설계 5원칙 SOLID (0) 2021.07.17 [Spring] 객체지향이란? (0) 2021.07.15