CODEDRAGON ㆍDevelopment/Java
객체지향
· 프로그래밍에서 객체지향 언어는 프로그래밍을 독립적인 객체(object)로 나누어서 프로그래밍 하는 것을 말합니다.
· 즉, 실세계의 현상을 컴퓨터상에 객체로 실현함으로써, 컴퓨터를 자연스러운 형태로 사용하여 다양한 문제를 해결하기 위한 프로그램 기법입니다.
· 객체는 실체와 그 실체와 관련되는 동작을 모두 포함합니다. 어떤 과제를 처리하기 위해 객체 간에는 메시지(지시)를 주고받고, 메시지를 받은 객체는 동작(절차)을 실행합니다. 즉, 객체 지향은 과정을 중시하는 절차 중심의 설계가 아니고, 실체를 중시하는 설계입니다.
객체 지향 프로그램 (Object Oriented Programming)
· OOP(Object Oriented Programming)
· 실제 세계를 모델링하여 소프트웨어를 개발하는 Programming paradigm입니다.
· 기존 클래스들을 이해하고 이 클래스로 부터 얻어진 객체(Object)를 사용하여 프로그램을 만드는 것이 객체 지향 프로그래밍입니다.
· 프로그램을 수많은 객체라는 기본단위로 나누고 객체의 상호작용으로 동작하게 하는 방식입니다.
· 즉, 속성과 기능을 포함한 프로그램 단위(객체)로 프로그램의 구성요소를 구성하는 것을 말합니다.
· 대표적인 OOP 프로그램 언어인 자바 프로그램같은 경우 클래스들이 모여서 만들어진 프로그램이라고 할 수 있습니다.
· 객체지향 프로그램은 부품을 모아서 조립한 하나의 제품처럼 객체를 부품에 비유할 수 있습니다.
· 객체지향 프로그램은 코드 내의 모든 것을 객체(Object)로 표현합니다.
· 객체는 자신만의 속성(데이터)과 기능(메소드)을 가지고 있습니다.
· 클래스는 이 객체를 만들기 위한 틀을 체공합니다.
· 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍입니다.
· 실제 세계를 모델링하여 소프트웨어를 개발하는 방법
http://en.wikipedia.org/wiki/Object-oriented_programming
객체지향 프로그램 도식도
부품을 조립하여 제품을 만들 듯 객체들을 조립하여서 빠르게 소프트웨어를 만들 수 있습니다.
·
공장에서 제품을 만들 때 부품별로 분업하는 것처럼,
객체를 만들어 개발하게 되면 자신의 객체에 대해서만 노력과 시간을 집중할 수 있습니다. (모듈화)
· 하나의 부품을 비슷한 기능을 하는 다른 제품에 사용할 수 있는 것처럼, 잘 설계된 객체는 비슷한 기능을 하는 프로젝트에서 얼마든지 재사용할 수 있습니다. (개발시간 단축, 버그 최소화)
· 문제가 발생한 곳이 있다면 해당 부품만 교체하면 되는 것 처럼, 객체에 문제가 발생한 경우에는 해당 객체만 수정하면 됩니다.(캡슐화)
'Development > Java' 카테고리의 다른 글
이벤트(Event), 이벤트 중심의 프로그래밍 (0) | 2019.09.28 |
---|---|
에러의 종류, 컴파일 에러(문법 에러), 컴파일 에러 vs 런타임 에러, 논리 Error, 시스템 Error, 에러(ERROR) vs 예외(Exception) (0) | 2019.09.27 |
break문, break 수행 도식도 (0) | 2019.09.22 |
Java - Loop control (0) | 2019.09.22 |
continue 문 (0) | 2019.09.22 |