객체지향 프로그래밍과 java
객체지향 프로그래밍 이란?
우리의 현실은 상호 작용한 물체들로 이루어져 있다. 현실에서 다루는 행위들을 쉽게 다루기 위해 프로그램 언어는 객체를 다룰 수 있는 기능
을 추가하였고
이러한 객체
들을 이용해 현실에 있는 물체들의 행동과 상태를 상상하며 원하는 서비스를 개발하는 것을 객체지향 프로그래밍이라고 생각한다.
객체 구성 요소
객체의 구성요소는 데이터
와 메소드
로 구별된다.
다른 표현으로는 상태
와 행위
로도 표현되고 맴버 변수와
메소드
라고도 공부했었다.
아래의 그림과 같이 현실의 있는 사물의 상태
와 행위
를 관찰하여 코드로 옮겨 상호작용하기 위해 사용된다.
java에서의 객체(object) 생성
객체를 생성하기 전 class(클래스)
를 정의해야 한다.
class란 단어의 뜻과 비슷하게 객체를 구별해주는 일종의 틀, 그룹, 울타리 등등이라고 생각하면 된다.
사자, 고양이, 호랑이, 기린, 등등은 동물
이라는 공통된 class
로 묶어 생각할 수 있다.
class는 아래와 같이 정의할 수 있다.
createClass.java | |
---|---|
객체의 생성은 이전 게시물에서 언급한 것 처럼 과 같이 new
키워드를 사용하여 생성이 가능하다.
createObject.java | |
---|---|
class 와 object
class
는 템플릿일 뿐이고, object
는 템플릿을 통해 만들어진 상태 값이 다른 데이터이다.
사람
, 사자
무엇이 됐든, 이름
과 나이
등등 각각의 상태 값은 다르다.
우리는 객체를 이용해서 서로 다른 상태를 가진 데이터들을 통해 세상을 compute 하는 것이라고 보면 될 것이다.