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

 
(사용자 2명의 중간 판 11개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;object-oriented, object-oriented programming; OOP, obejct-oriented language
;object-oriented, object-oriented programming (OOP), object-oriented language
;객체 지향, 오브젝트 지향, 객체 지향 프로그래밍, 객체지향 언어
;객체 지향, 오브젝트 지향, 객체 지향 프로그래밍, 객체지향 언어
* 데이터를 주로 오브젝트로 다름
* 데이터를 주로 오브젝트로 다룸
* 데이터를 오브젝트로 취급하여 프로그래밍하는 방법
* 데이터를 오브젝트로 취급하여 프로그래밍하는 방법
* 프로그램의 구조를 오브젝트간 상호작용 관계로 표현하는 프로그래밍 방식
* 프로그램의 구조를 오브젝트간 상호작용 관계로 표현하는 프로그래밍 방식
* 객체지향분석: 개발대상 요소를 오브젝트로 추출·정의함
* [[객체지향 분석]]: 개발대상 요소를 오브젝트로 추출·정의함
* 객체지향설계: 시스템의 동작이나 구조를 오브젝트와 클래스로 기술함
* [[객체지향 설계]]: 시스템의 동작이나 구조를 오브젝트와 클래스로 기술함
* 객체지향언어: OOP 패러다임을 따르는 프로그래밍 언어
* [[객체지향 언어]]: OOP 패러다임을 따르는 프로그래밍 언어


==주요 요소==
==주요 요소==
*[[캡슐화]]: 오브젝트 내부의 동작 및 데이터를 숨김(정보 숨김)
* [[추상화]]: 복잡한것을 단순한 것으로 표현 → 재사용성
*[[상속]]: 어떤 오브젝트가 다른 오브젝트의 특성을 계승함
* [[캡슐화]]: 오브젝트 내부의 동작 및 데이터를 숨김 → 유지보수성
*[[다형성]]: 변수, 오브젝트, 메소드가 여러가지 형태에 속하는 것이 가능
* [[상속]]: 어떤 오브젝트가 다른 오브젝트의 특성 계승 → 재사용성
* [[다형성]]: 변수, 오브젝트, 메소드가 여러가지 형태에 속하는 것이 가능. 타입이 맞으면 객체 교체가능 → 유지보수성


==객체지향 원리==
==객체지향 원리==
*변하는 부분은 캡슐화
* 변하는 부분은 캡슐화한다.
*인터페이스에 의존하도록 코딩
* 인터페이스에 의존하도록 코딩한다.
*클래스를 변경하는 요인은 하나여야
* 클래스를 변경하는 요인은 하나여야 한다.
*이러한 구조를 만들어내기 위해서는 [[디자인 패턴]] 지식도 필요함
* 이러한 구조를 만들어내기 위해서는 [[디자인 패턴]] 지식도 필요하다.
 
==장단점==
* 단점: 코드 단위 생산성 낮고 복잡성 높음
* 장점: 재사용/유지보수 유리 ★, 디자인 패턴, 리팩토링 적용 용이


==같이 보기==
==같이 보기==
38번째 줄: 43번째 줄:
* {{위키백과|객체 지향 프로그래밍}}
* {{위키백과|객체 지향 프로그래밍}}
* {{영어 위키백과|Object-oriented_programming}}
* {{영어 위키백과|Object-oriented_programming}}
*http://www.terms.co.kr/OOP.htm
* http://www.terms.co.kr/OOP.htm
*http://terms.naver.com/entry.nhn?cid=200000000&docId=1128207&categoryId=200000765
* https://charlesreid1.com/wiki/OOP_Checklist
*http://www.cse.usf.edu/~turnerr/Object_Oriented_Design/
* http://www.cse.usf.edu/~turnerr/Object_Oriented_Design/


[[분류:OOP]]
[[분류:OOP]]

2023년 6월 16일 (금) 18:45 기준 최신판

1 개요[ | ]

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

2 주요 요소[ | ]

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

3 객체지향 원리[ | ]

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

4 장단점[ | ]

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

5 같이 보기[ | ]

언어

6 참고[ | ]

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