Notice
Recent Posts
Recent Comments
Link
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

seaking110 님의 블로그

객체간의 결합도와 다형성 본문

Today I Learned

객체간의 결합도와 다형성

seaking110 2025. 1. 14. 17:15

 

객체 지향 프로그래밍의 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