JAVA

객체, 상속, 다형성, 캡슐화 등(객체 지향)

쥐4 2025. 1. 22. 17:50

계속해서 주소 추가 예정

 

객체 지향이란?

개별적 객체를 만들고 이 부품들을 하나씩 조립해서 완성된 프로그램을 만드는 기법을 말합니다.

객체란?

속성과 동작으로 구성되는 물리적, 개념적으로 존재하는 식별 가능한 것.

객체 모델링이란?

현실 세계의 객체를 추상화를 통해 필드와 메소드를 가진 소프트웨어 객체로 설계하는 것.

객체 모델링의 과정은?

개념 모델링-> 논리 모델링 -> 물리 모델링

학습 목표: 각 모델링의 방법론 개념을 익힘으로 프로젝트 시 경험할 수 있게 한다.

 

개념 모델링(요구사항 분석): 필요 객체 데이터 수집

논리 모델링(설계): 수집한 객체 데이터 추상화 + 다이어그램 등으로 체계화

물리 모델링(구현): 코드를 통한 소프트웨어 객체로 구현 

모델링 중 객체들의 관계는 어떻게 표현할 수 있는가?

집합, 사용, 상속관계로 표현 가능

객체 지향 프로그래밍의 특징은 무엇인가?

크게 캡슐화, 상속, 다형성이 있음.

학습 목표: 예시를 직접 구현함으로 캡슐화, 상속, 다형성의 목표를 이해한다.

 

1. 캡슐화: 객체의 필드, 메서드를 묶어 구현 내용을 외부에 감추는 것을 말함.

https://icanchangeworld.tistory.com/94

 

캡슐화 + 은닉에 대하여

캡슐화란 무엇인가?객체의 속성과 행위를 하나로 묶고, 외부로 부터 내부를 감싸 숨겨 은닉한다.그저 여러 은닉 방법 중 하나일 뿐임. 은닉해서 좋은 점은?1. 필드는 외부에서의 데이터 접근을

icanchangeworld.tistory.com

 

2. 상속: 상위 객체의 필드와 메서드를 가직 객체에게 물려주어 자식 객체가 사용할 수 있도록 함.

 

3. 다형성: 사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질.

객체 지향 프로그래밍의 5원칙

SOLID원칙

학습 목표: 예시를 직접 구현함으로 SOLID원칙의 목표를 이해한다.

 

SRP(단일 책임 원칙): 객체는 단 하나의 책임만 갖는다.

OCP(계방 패쇄 원칙): 확장은 가능하며, 수정에는 닫혀 있어야 한다.

LSP(리스코프 치환 원칙): 상속은 is-a 관계 이어야 한다.

ISP(인터페이스 분리 원칙): 인터페이스 또한 책임을 분리를 잘해라.

DIP(의존관계 역전 원칙): 구현체가 아닌, 인터페이스에 의존해라.