객체지향 개념
실제 세계의 개체를 속성 + 메서드의 객체로 표현하는 기법
객체지향 구성 요소
- 클래스
- 변수와 메서드를 정의하는 틀
- 데이터를 추상화하는 단위
- 하나 이상의 유사한 객체들을 묶어서 하나의 공통 특성을 표현
- 속성 - 변수 , 행위 - 메서드
- 객체
- 물리, 추상적으로 자신과 다른 것을 식별 가능한 대상
- 클래스에서 정의한 것을 토대로 메모리에 할당
- 객체마다 상태와 식별성을 가짐
- 메서드
- 객체를 사용하는 방법
- 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산
- 함수 또는 프로시저에 해당하는 연산
- 메시지
- 객체 간의 상호 작용을 하기 위한 수단
- 객체에게 어떤 행위를 하도록 지시하는 방법
- 객체 간의 상호 작용은 메시지를 통해 이루어짐
- 메시지는 객체에서 객체로 전달 됨
- 인스턴스
- 클래스를 통해서 만든 실체
- 실제적으로 메모리에 할당하는 행위
- 속성
- 클래스 내에 속한 객체들이 가지고 있는 데이터 값
- 성질, 분류, 식별, 수량 등에 대한 표현 값
객체 지향 기법
기법 | 설명 |
캡슐화 | - 연관된 데이터와 함수를 묶어 외부와 경계를 만들고 필요한 인터페이스만 밖으로 드러냄 - 결합도가 낮아지고 재사용 용이 - 인터페이스 단순화 - 정보 은닉과 관계가 깊음 - 변경 발생시 오류 파급이 적음 |
상속성 | - 상위 클래스의 속성과 메서드를 하위 클래스에서 재정의 없이 물려받아 사용하는 기법 |
다형성 | - 상속받은 여러개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용할 수 있는 성질 - 오버로딩, 오버라이딩이 대표적 |
추상화 | - 공통 성질을 추출해 추상 클래스를 설정 - 과정, 자료, 제어 추상화가 있음. |
정보 은닉 | - 코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근 가능 - Side-Effect들을 최소화 - 모듈 사이의 독립성을 유지하는데 도움이 됨 |
관계성 | - 두 개 이상의 엔터티에서 데이터를 참조하는 관계를 나타내는 기법 - 종류 : 연관, 분류, 집단, 일반, 특수화가 있음 |
객체 지향 설계 원칙(SOLID 원칙)
- 단일 책임 원칙
- 하나의 클래스는 하나의 목적을 위해서 생성.
클래스가 제공하는 서비스는 하나의 책임을 수행하는데 집중 - 나머지 4가지 원칙의 기초 원칙
- 하나의 클래스는 하나의 목적을 위해서 생성.
- 개방 폐쇄 원칙
- 소프트웨어의 구성요소(컴포넌트, 클래스,모듈, 함수)는
확장에는 열려있고
변경에는 닫혀있어야 함.
- 소프트웨어의 구성요소(컴포넌트, 클래스,모듈, 함수)는
- 리스코프 치환 원칙
- 자식 클래스는 부모 클래스로 교체할 수 있어야 함.
- 인터페이스 분리 원칙
- 의존성 역전의 원칙
'자격증 > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 - 소프트웨어 개발 보안 구현 (시스템 보안 구현) (0) | 2023.07.19 |
---|---|
정보처리기사 실기 - 소프트웨어 개발 보안 구현 (SW 개발 보안 구현) (0) | 2023.07.17 |
정보처리기사 실기 - SW 개발 보안 설계 (0) | 2023.07.15 |
정처기 실기 - 소프트웨어 개발 방법론 (소프트웨어 생명주기 모델) (0) | 2023.07.04 |
정처기 실기 - 데이터베이스 Transaction (2) | 2023.06.07 |