seaking110 님의 블로그
객체간의 결합도와 다형성 본문
객체 지향 프로그래밍의 4가지 특징
- 캡슐화
- 상속
- 추상화
- 다형성
캡슐화에 대해선 setter와 getter 등을 이용해서만 필드에 접근을 제한하는 것으로 제한한다는 점을 이미 배웠다
상속
- 자바의 모든 코드는 Object 클래스를 상속 중
- 따라서 object의 모든 메서드를 사용 가능
- 부모의 모든 기능을 자식이 사용하는게 상속
추상화
- abstract로 추상 클래스 지정
- 추상 클래스는 실제로 사용하지 않고 틀만 만들어 놓는 클래스 사용 불가!
- 중요한 정보만 표현하고 불필요한 사항은 숨기는 것
- 추상화의 도움을 주는것은 인터페이스
다형성
- 같은 타입의 참조변수가 여러가지 형태를 가질 수 있는 것
결합도
환율 정보를 가지는 클래스
- 코드 리팩토링 진행
- PaymentService 클래스에 환율을 가져오는 기능과 환율을 계산해서 제공하는 기능을 구분
- 코드 리팩토링을 진행하며 메서드 분리를 진행하여 결합도를 낮췄다.
- 느슨한 결합 (loose coupling)
- 느슨한 결합은 모든 스프링 코드의 근간
다형성
새로운 요구 사항 USD면 무조건 1000으로 리턴하는 개발 필요
- simpleRateProvider을 만들어서 진행 but 서비스 코드가 계속 수정이 필요
- 따라서 인터페이스를 생성해 주고 implements해서 사용
- 인터페이스로 규격을 정하고 실제 클래스에서 그 규격에 맞게 코드를 진행가능한 것이 다형성
'Today I Learned' 카테고리의 다른 글
| 키오스크 과제 3일차 (0) | 2025.01.15 |
|---|---|
| 키오스크 과제 2일차 (1) | 2025.01.14 |
| 키오스크 과제 1일차 (0) | 2025.01.13 |
| 계산기 만들기 트러블 슈팅 (0) | 2025.01.10 |
| 계산기 만들기 (0) | 2025.01.10 |