[Java] 객체 지향이란?

1 분 소요

객체란?

우리 주위에 있는 모든 것이라고 할수 있다. 예를 들어 사람, 자동차, 컴퓨터, 비행기 등. 눈에 보이는 사물은 모두 객체라고 한다. 눈에 보이지 않는 것도 물론 객체가 될 수 있다. 주문, 생산, 관리 등 어떤 행동을 나타내는 단어도 객체이다.

JAVA는 객체를 기반으로 하는 프로그래밍이다. 객체 지향 프로그래밍은 먼저 객체를 만들고 객체 사이에서 일어나는 일을 구현하는 것이다. 따라서, 객체 지향 프로그래밍을 할때는 객체를 먼저 정의하고 각 객체가 어떤 기능을 제공하고 객체간 협력을 어떻게 구현할 것인지를 고민해야 한다.


클래스(Class)란?

객체 지향 프로그래밍은 클래스를 기반으로 이루어진다. 클래스는 객체의 속성과 기능을 코드로 구현한 것이다. 객체를 클래스로 구현하는 것을 ‘클래스를 정의한다’ 라고 한다. 클래스를 정의하려면 우선 클래스 이름과 클래스가 가지는 속성 또는 특성이 필요하다.

클래스를 정의하려면 우선 클래스의 이름을 정해야한다. 예를 들어 GameItem이라는 클래스를 정의하고 게임 아이템이라는 객체가 가지는 속성. 아이템 타입, 공격력, 가격 등의 속성을 클래스 내부에 변수로 선언한다. 이렇게 선언한 변수를 ‘멤버 변수’ 라고 한다

클래스를 정의하는 방법은 아래와 같다.

    Public class GameItem {
       String type = "sword";      //멤버 변수
       int power = 70;
       int price = 3000;
    }

클래스 이름

클래스 이름은 대문자로 시작해야한다. 소문자로 정한다고 해서 오류가 발생하는 것은 아니지만, 개발자들 사이의 규칙이다. 개발자는 협업이 중요하기 혼자 개발하는 것이 아니라면 지켜주는 것이 좋다.


멤버변수(Member Variable)란?

위의 예시를 보면 아이템의 타입, 공격력, 가격과 같이 클래스 내부에 선언하여 객체 속성을 나타내는 변수를 멤버 변수라고 한다. 멤버 변수는 속성이 무엇이냐에 따라서 알 맞은 자료형을 선언해 주어야 한다.


메소드(Method)란?

위에서 선언한 게임 아이템의 기능이라고 볼수 있다. 예를 들어 게임 아이템의 정보를 보는 기능과 같이 표현할 수 있다. 이렇게 클래스 내부에서 멤버 변수를 사용하여 클래스 기능을 구현한 것을 ‘메소드’라고 한다.

    Public class GameItem {

       String type = "sword";      //멤버 변수
       int power = 70;
       int price = 3000;

    public void getGameItem() {

          System.out.println("무기 타입 : " + type);
          System.out.println("공격력 : " + power);
          System.out.println("가격 : " + price);
        }
    }

위 코드와 같이 게임 아이템의 정보를 보는 기능을 메소드 라고 한다.


댓글남기기