객체(Object)?
- 실생활에 우리가 인식할 수 있는 사물
- Class의 인스턴스
OOP(Object Oriented Programming) - 문제를 여러 개의 객체 단위로 나눠 작업하는 방식, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론
- 장점
- 코드 재사용성 증가
- 생산성 향상 => 독립적인 객체를 사용
- 자연적인 모델링 => 생각하고 있는 것을 그대로 자연스럽게 구현할 수 있다.
- 유지보수 우수성 => 캡슐화를 통해 주변 영향이 적기때문에 유지보수 쉬움 => 경제적
- 규모가 큰 프로젝트에서 사용됨
- 단점
- 개발속도가 느림 => 설계단계부터 많은 시간이 소모
- 실행속도가 느림
- 코딩 난이도 상승
- 특징
- 클래스 => 함수와 변수로 구성
- 캡슐화 : 데이터와 코드의 형태를 외부로부터 알 수 없게 함. 구조, 역할, 기능을 하나의 캡슐형태로
- 추상화 : 공통적인 속성과 기능을 추출하여 정의
- 상속성 : 기존 상위클래스의 기능을 가져와 재사용, 새로운 하위 클래스에 새로운 기능 추가
- 다형성 : 상속을 통해 기능을 확장하거나 변경하여 다른 여러형태로 재구성
- Overloading : 하나의 클래스 안에서 같은 이름의 함수를 사용하지만 다른 용도,
- Overriding : 하위클래스에서 상위 클래스의 함수를 재창조해서 사용
'CS' 카테고리의 다른 글
Framework 와 Library (0) | 2022.06.29 |
---|---|
OSI 7계층이란? (0) | 2022.05.03 |
인터넷? (0) | 2022.05.02 |
스케줄링 알고리즘 (0) | 2022.05.02 |
Process에 대해 알아보자! (0) | 2022.04.29 |