[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 3장: 자바와 객체 지향
2022. 4. 29. 22:04
반응형
객체 지향의 4대 특성
1. 캡슐화: 정보 은닉
2. 상속: 재사용
3. 추상화: 모델링
4. 다형성: 사용편의
추상화: 모델링
객체 지향의 추상화는 곧 모델링이다.
추상화란, 구체적인 것을 분해해서 관찰자가 관심있는 특성만 가지고 재조합하는 것이다.
- 객체: 세상에 존재하는 유일무이한 사물
- 클래스: 같은 속성과 기능을 가진 객체를 총칭하는 개념
개발자가 필요한 객체는 Context(애플리케이션 경계)에 따라 달라질 수 있다.
=> 추상화란, 구체적인 것을 분해해서 관심 영역(애플리케이션)에 있는 특성만 가지고 재조합하는 것을 말한다. (모델링)
자바는 이러한 객체 지향의 추상화를 class 키워드를 통해 지원하고 있다.
상속: 재사용 + 확장 (extends)
상속은 계층적인 개념이 아닌 재사용과 확장으로 이해하는 것이 맞다.
상속은 분류도다.
상위 클래스로 갈수록 추상화/일반화가 되고, 하위 클래스로 갈수록 구체화/특수화가 진행된다.
리스코프 치환 법칙
- 하위 클래스는 상위 클래스이다.
- is a kind of
상속과 인터페이스
인터페이스는 be able to 와 같이 '무엇을 할 수 있는' 형태로 만드는 것이 좋다.
자바 API 예시
- Comparable 인터페이스: 비교할 수 있는
- Runnable 인터페이스: 실행할 수 있는
인터페이스는 클래스가 무엇을 할 수 있다는 기능을 구현하도록 강제하게 된다.
- 리스코프 치환 원칙에 의해 상위 클래스가 풍성할수록 좋다.
- 인터페이스 분할 원칙에 의해 인터페이스 메서드는 적을수록 좋다.
다형성: 사용편의성
객체지향에서 다형성은 오버라이딩과 오버로딩이다.
- 오버라이딩: 같은 메서드 이름, 같은 인자 목록으로 상위 클래스의 메서드를 재정의
- 오버로딩: 같은 메서드 이름, 다른 인자 목록으로 다수의 메서드를 중복 정의
상위 클래스 타입의 객체 참조 변수를 사용하더라도 하위 클래스에서 오버라이딩한 메서드가 호출된다.
캡슐화: 정보 은닉
접근 제어자: private, protected, public
- public: 모두가 접근 가능
- protected: 상속/ 같은 패키지 내의 클래스에서 접근 가능
- [default]: 같은 패키지 내의 클래스에서 접근 가능
- private: 본인만 접근 가능
728x90
반응형
'dev book > 스프링 입문을 위한 자바 객체 지향의 원리와 이해' 카테고리의 다른 글
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 7장: 스프링 삼각형과 설정 정보 (0) | 2022.06.20 |
---|---|
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 6장: 스프링이 사랑한 디자인 패턴 (0) | 2022.06.01 |
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 5장: 객체 지향 설계 5원칙 (0) | 2022.05.03 |
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 4장: 자바가 확장한 객체 지향 (2) | 2022.05.02 |
Written by ner.o
개발자 네로의 개발 일기,
자바를 좋아합니다 !
댓글 개