[정처기 필기] 객체지향 프로그래밍
by 볼빵빵오춘기객체지향 프로그래밍
컴퓨터 SW를 구조적인 코드 단위로 보는 것이 아니라 Object단위로 구분하고 Object간의 모듬으로 설계하는 것이다.
객체지향의 5가지 특징
- 캡슐화 : 서로 관련성이 높은 데이터와 그와 관련된 기능을 묶는 기법이다.
- 정보은닉 : 객체 내부의 속성과 메소드를 숨기고 공개된 인터페이스를 통해서만 메세지를 주고 받을 수 있도록 하는 것을 의미한다.
- 추상화 : 시스템 내의 공통 성질을 추출한 뒤 추상클래스를 설정하는 기법이다.
- 상속성 : 상위 클래스의 모든 속성, 연산을 하위클래스가 재정의 없이 물려받아 사용하는 것이다.
- 다형성 : 객체가 다양한 모양을 가지는 성질을 뜻한다.
오버로딩 vs 오버라이딩
오버로딩 : 같은 이름의 메소드를 여러 개 정의하면서 매개변수의 유형과 개수가 달라지도록 하는 기술
오버라이딩 : 상속 관계의 두 클래스의 상위 클래스에서 정의한 메소드를 하위 클래스에서 변경(재정의)하는 것
객체지향 설계 원칙(SOLID)
- 단일책임의 원칙(SRP : Single Responsibility Principle)
모든 클래스는 단일 목적으로 생성되고, 하나의 책임만 가져야 한다. - 개방-폐쇄의 원칙(OCP : Open Closed Principle)
SW 구성 요소는 확장에 대해서는 개방되어야 하나 수정에 대해서는 폐쇄적이어야 한다. - 리스코프치환 원칙(LSP : Liskov Substitution Principle)
부모 클래스가 들어갈 자리에 자식 클래스를 대체하여도 계획대로 작동해야 한다. - 인터페이스 분리 원칙(ISP : Interface Segregation Principle)
- 클라이언트는 자신이 사용하지않는 메소드와 의존 관계를 맺으면 안 된다.
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
- 의존 역전 원칙(DIP : Dependency Inversion Principle)
의존 관계를 맺으면 변하기 쉽고 변화 빈도가 높은 것보다 변하기 어렵고 변화 빈도가 낮은 것에 의존한다.
객체지향의 구성 요소
Class
- 유사한 객체를 정의한 프로그램이다.
- 같은 종류의 객체 집합으로 속성+행위를 정의한 것으로 일반적인 Type을 의미한다.
- 객체지향 프로그램의 기본적인 사용자 정의 데이터형이다.
Object
- 데이터 함수를 묶어 캡슐화한 것이다.
- 데이터 함수를 묶어 캡슐화하는 대상이 된다.
- 하나의 SW 모듈이다.
- Class에 속한 instance를 Object라 한다.
Message
- Object 간에 서로 주고받는 통신을 의미한다.
'📚 자격증 > 정처기' 카테고리의 다른 글
[정처기 필기] IDE, 빌드 자동화 도구, DRM, 형상관리 (0) | 2023.07.11 |
---|---|
[정처기 필기] 미들웨어, JSON, AJAX, 인터페이스 구현검증도구/기술 (0) | 2023.07.11 |
[정처기 필기] CBD, 구조적분석, SW 아키텍처 (0) | 2023.07.11 |
[정처기 필기] 컴포턴트, 모듈, 응집도, 결합도 (0) | 2023.07.11 |
[정처기 필기] SW 설계 분류/구조도, 코드 종류, 자료흐름도(DFD), 데이터사전 (0) | 2023.07.11 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기