"객체지향 프로그래밍"의 두 판 사이의 차이

16번째 줄: 16번째 줄:


==객체지향 원리==
==객체지향 원리==
*변하는 부분은 캡슐화
* 변하는 부분은 캡슐화한다.
*인터페이스에 의존하도록 코딩
* 인터페이스에 의존하도록 코딩한다.
*클래스를 변경하는 요인은 하나여야
* 클래스를 변경하는 요인은 하나여야 한다.
*이러한 구조를 만들어내기 위해서는 [[디자인 패턴]] 지식도 필요함
* 이러한 구조를 만들어내기 위해서는 [[디자인 패턴]] 지식도 필요하다.


==장단점==
==장단점==

2022년 6월 13일 (월) 10:19 판

1 개요

object-oriented, object-oriented programming (OOP), obejct-oriented language
객체 지향, 오브젝트 지향, 객체 지향 프로그래밍, 객체지향 언어
  • 데이터를 주로 오브젝트로 다름
  • 데이터를 오브젝트로 취급하여 프로그래밍하는 방법
  • 프로그램의 구조를 오브젝트간 상호작용 관계로 표현하는 프로그래밍 방식
  • 객체지향분석: 개발대상 요소를 오브젝트로 추출·정의함
  • 객체지향설계: 시스템의 동작이나 구조를 오브젝트와 클래스로 기술함
  • 객체지향언어: OOP 패러다임을 따르는 프로그래밍 언어

2 주요 요소

  • 추상화: 복잡한것을 단순한 것으로 표현 (재사용 유리)
  • 캡슐화: 오브젝트 내부의 동작 및 데이터를 숨김 (유지보수 유리)
  • 상속: 어떤 오브젝트가 다른 오브젝트의 특성 계승
  • 다형성: 변수, 오브젝트, 메소드가 여러가지 형태에 속하는 것이 가능

3 객체지향 원리

  • 변하는 부분은 캡슐화한다.
  • 인터페이스에 의존하도록 코딩한다.
  • 클래스를 변경하는 요인은 하나여야 한다.
  • 이러한 구조를 만들어내기 위해서는 디자인 패턴 지식도 필요하다.

4 장단점

  • 단점: 코드 단위 생산성 낮고 복잡성 높음
  • 장점: 재사용/유지보수 유리 ★, 디자인 패턴, 리팩토링 적용 용이

5 같이 보기

언어

6 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}