Skip to content

객체지향 프로그래밍과 java

객체지향 프로그래밍 이란?

우리의 현실은 상호 작용한 물체들로 이루어져 있다. 현실에서 다루는 행위들을 쉽게 다루기 위해 프로그램 언어는 객체를 다룰 수 있는 기능을 추가하였고

이러한 객체들을 이용해 현실에 있는 물체들의 행동과 상태를 상상하며 원하는 서비스를 개발하는 것을 객체지향 프로그래밍이라고 생각한다.

객체 구성 요소

객체의 구성요소는 데이터메소드로 구별된다.

다른 표현으로는 상태행위로도 표현되고 맴버 변수와 메소드라고도 공부했었다.

아래의 그림과 같이 현실의 있는 사물의 상태행위를 관찰하여 코드로 옮겨 상호작용하기 위해 사용된다.

Image title

그림 1 - 객체의 예제(심리 상담 그림 아님)

java에서의 객체(object) 생성

객체를 생성하기 전 class(클래스)를 정의해야 한다.

class란 단어의 뜻과 비슷하게 객체를 구별해주는 일종의 틀, 그룹, 울타리 등등이라고 생각하면 된다.

사자, 고양이, 호랑이, 기린, 등등은 동물 이라는 공통된 class로 묶어 생각할 수 있다.

class는 아래와 같이 정의할 수 있다.

createClass.java
class Animal{
    // 데이터 부분 : 객체의 상태(state)를 정의한다.
    int age;
    int height;

    // 메소드 부분 : 객체의 행위(action)를 정의한다.
    void walk(){
        System.out.println("walk");
    }
}

객체의 생성은 이전 게시물에서 언급한 것 처럼 과 같이 new 키워드를 사용하여 생성이 가능하다.

createObject.java
{
    Animal shark = new Animal(); // shark 객체 생성

    // 객체의 상태 설정
    shark.age = 30;
    shark.height = 183;

    // 객체의 행위 실행
    shark.walk();
}

class 와 object

class템플릿일 뿐이고, object는 템플릿을 통해 만들어진 상태 값이 다른 데이터이다.

사람, 사자 무엇이 됐든, 이름나이 등등 각각의 상태 값은 다르다.

우리는 객체를 이용해서 서로 다른 상태를 가진 데이터들을 통해 세상을 compute 하는 것이라고 보면 될 것이다.


Comments