반응형
Ⅰ. 소프트웨어 재사용성 향상, 객체 지향 프로그래밍의 정의
- 현실세계의 개체(Entity)를 속성(Attribute)과 행위(Method) 결합 객체(Object)로 표현하여 프로그래밍 하는 기법
Ⅱ. 객체 지향 프로그래밍 특징
특징 | 개념도 | 설명 |
캡슐화 | - 서로 연관있는 속성, 기능을 캡슐로 만들어 외부로부터 보호, 접근지정 - 데이터 보호, 데이터 은닉, 낮은 결합 |
|
추상화 | - 공통 속성, 행동을 추출 이름 부여 - 공통 속성 추출해 슈퍼 클래스 생성 |
|
다형성 | - 같은 이름의 메소드나 연산자가 다른 클래스에 대해 다른 동작 수행 - 오버로딩: 같은 이름에 다른 타입 재정의 - 오버라이딩: 상위 Class Method 참조/재정의 |
|
정보은닉 | - 외부에서 내부정보 알 수 없도록 정보 은닉 - 외부에서 내부 정보 변경할 수 없도록 캡슐화 |
|
상속성 | - 부모 클래스로부터 새로운 자식 클래스 메소드 정의 - 재사용성 향상, 유지보수성 향 |
Ⅲ. 객체지향 프로그래밍과 절차지향 프로그래밍 비교
구분 | 절차지향 | 객체지향 |
정의 | - 순차적 처리 중시, 프로그램 전체가 유기적 연결 | - 실제 세계를 모델링해 객체 중신 소프트웨어 설계 |
장점 | - 실행 속도 빠름 - 설계가 상대적으로 쉬움 |
- 재사용성 용이 - 유지보수 용이 |
단점 | - 유지보수 어려움 - 수정 / 재사용이 어려움 |
- 실행 속도 느림 - 설계의 어려움 |
반응형
'IT 기술 > SW공학 & 프로젝트 관리' 카테고리의 다른 글
MSA와 Service Mesh (0) | 2024.07.03 |
---|---|
MVC, MVP, MVVM, MVI 디자인 패턴 (0) | 2024.07.03 |
Agile 선언문과 12개의 원칙 (0) | 2024.07.02 |
XP(eXtreme Programming)의 특징 및 실천 방법(Practice) (0) | 2024.07.02 |
프로젝트 자원 최적화 방법 2가지 설명하고 비교하시오 (0) | 2024.07.02 |