1. 캡슐화

1. 상속을 생각하시나요?

– 슈퍼클래스에 메소드를 추가하면 일부 서브클래스 부적절한 행동 추가존재하다

2. 인터페이스를 고려하시겠습니까?

– 교집합을 상속하고 인터페이스에서 차이를 빼면?

-> 동작을 변경할 때마다 하위 클래스의 모든 코드 모든 + 가능한 버그 수정 시도

-> 코드가 구현되지 않았기 때문에 코드가 재사용 불가

3. 패키지!

부품 변경혼자 꺼내 캡슐화.
나중에 변경됨, 부분 X가 X에 영향을 미침
O에서 변경되는 부분만 수정 또는 확장

– 변경된 부분을 나머지 부분과 분리

– 동작을 나타내는 새로운 클래스 집합을 만듭니다.

<- 각 동작을 구현하는 모든 메서드에 넣습니다.

구현이 아닌 인터페이스에 대한 프로그래밍
= 위 표에 따르면 프로그램 작성

– 클래스에서 동작을 구체적으로 구현할 필요 없음

– 다형성을 사용해야 함

1. 행동 변화에 대해 재활용

2. 메인 클래스를 만지지 마십시오. 편집 가능


4. 통합 포장 행태”인정 받은

– 인터페이스 유형의 인스턴스 변수 추가 => 특정 동작 참조는 저장됨

서비스 서비스;

서비스.티…

– 동작 변경 항목을 제거하고 인터페이스로 이동했기 때문에 관련 메서드를 제거했습니다.

– 이 메서드를 정의하는 메서드 만들기

-> 추가 인스턴스 변수로 참조 객체행동을 취하다 인정 받은

5. 동작을 동적으로 지정

– 메인 클래스에 동작 변수를 변경하는 메서드 생성

– 향후 동작 변경 시 새로운 객체로 교체 가능