일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring Framework
- Shell code
- Spring
- 운영체제
- 웹해킹
- stack overflow
- webhacking.kr
- pwnable
- 정보처리기사 실기
- Buffer Overflow
- SQL
- Operating System
- Spring MVC
- BOF
- hacking
- webhacking
- Pwnable.kr
- System
- LOB
- Payload
- 네트워크
- OS
- 정보보안기사
- system hacking
- PWN
- 정보보안기사 실기
- wargame
- 해킹
- 워게임
- Lord of BOF
- Today
- Total
DongDD's IT
[정보처리기사 실기] 객체 지향 기법 본문
[정보처리기사 실기] 객체 지향 기법
객체 지향 기법
- 현실의 개체(Entity)를 하나의 객체(Object)로 만들어 소프트웨어를 개발할 때 객체들을 이용해 프로그램을 작성할 수 있도록 하는 기법
장점
1) 재사용성, 확장성 -> 개발기간 단축, 유지보수 쉬움
2) 복잡한 구조를 단계적, 계층적으로 표현
3) 데이터 병렬 처리
구성요소
1) 객체(Object)
- 데이터와 데이터를 처리하는 함수를 캡슐화한 소프트웨어 모듈
- 데이터 : 객체 정보, 속성, 상태
- 함수 : 객체가 수행하는 기능
2) 클래스(Class)
- 공통된 속성, 연산을 갖는 객체들의 집합
- Instance : 클래스에 속한 각각의 객체
- Superclass : 상위 class
- Subclass : 하위 class
3) 메시지(Message)
- 객체들 간 상호작용을 하기 위한 수단
- 객체 이름, 메소드 이름, 인자로 구성
특징
1) 캡슐화(Encapsulation)
- 데이터와 함수를 하나로 묶는 것을 의미
- 재사용성 증가, 오류 파급 효과 감소
- 인터페이스가 단순해짐, 객체 간 결합도가 낮아짐
2) 정보 은닉(Information hiding)
- 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근
- 다른 객체에게 주는 영향을 감소시킴
3) 추상화(Abstraction)
- 불필요한 부분을 생략하고 중요한 것에만 중점을 두어 모델화
4) 상속성(Inheritance)
- 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받음
- 상위 클래스에 정의된 속성을 재정의하지 않아도 된다.
- 새로운 속성과 연산을 추가하여 사용 가능
- 다중 상속성(Multiple Inheritance) : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 상속
5) 다형성(Polymorphism)
- 같은 함수, 기능에 대해 다른 정의를 통해 각 클래스가 다른 행동을 할 수 있게 해줌
- Overloading : 같은 이름을 가진 함수지만 인자가 달라 각기 다른 인자에 따라 함수를 선택해 수행
- Overriding : 상위 클래스로부터 상속받은 함수들을 다르게 구현하여 사용
생명 주기
계획 및 분석 -> 설계 -> 구현 -> 테스트 및 검증
1) 계획 및 분석(객체 지향 분석, OOA)
- 사용자의 요구사항을 분석하여 클래스, 속성, 연산 등을 정의하여 모델링하는 작업
2) 설계(객체 지향 설계, OOD)
- 분석을 통해 생성한 모델을 설계 모델로 변환하는 작업
- 설계 : 문제 정의 -> 요구 명세화 -> 객체 연산자 정의 -> 객체 인터페이스 결정 -> 객체 구현
3) 구현(객체 지향 프로그래밍, OOP)
- 객체라는 단위를 중심으로 프로그램을 개발하는 작업
- 유지보수가 쉽고 재사용 가능
- 확장성 제공
4) 테스트 및 검증
- 클래스 테스트 : 캡슐화된 클래스나 객체를 검사하는 과정
- 통합 테스트 : 객체를 결합해 프로그램을 완성시키는 과정에서의 테스트
-> thread 기반 테스트 : 각각의 thread가 개별적으로 테스트
-> 사용 기반 테스트 : 독립 클래스를 테스트한 후 종속 클래스를 테스트
- 확인 테스트 : 사용자 요구사항에 대한 만족 테스트
- 시스템 테스트 : 모든 요소들이 올바른 기능을 수행하는 지 테스트
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 용어 정리, 신기술 용어 - 1 (0) | 2018.04.10 |
---|---|
[정보처리기사 실기] 업무프로세스 (0) | 2018.04.09 |
[정보처리기사 실기] 데이터베이스 - 이상, 함수적 종속, 정규화,기타 (0) | 2018.04.08 |
[정보처리기사 실기] 데이터베이스 - SQL,View, 내장 SQL, Stored Procedure (0) | 2018.04.07 |
[정보처리기사 실기] 데이터베이스 - 데이터베이스, ER Model, 관계형 데이터 모델, Key, 무결성, 관계 대수 (0) | 2018.04.04 |