본문 바로가기

프로그래밍언어/Java

[Java 기본] 클래스와 메서드

클래스와 메서드


클래스는 멤버 변수 뿐 아니라 기능 역할을 하는 메서드도 포함할 수 있다.

다음의 예제를 살펴보자.

 

예제


데이터를 증가시키는 간단한 프로그램을 작성했다.

 

ValueData.java

public class ValueData {
    int value;
}

 

 

ValueDataMain.java

public class ValueDataMain {

    public static void main(String[] args) {
        ValueData valueData = new ValueData();

        add(valueData);
        add(valueData);
        add(valueData);
        System.out.println("최종 숫자 : "+ valueData.value);
    }

    static void add(ValueData valueData) {
        valueData.value++;
        System.out.println("숫자 증가 value : " + valueData.value);
    }
}

 

이번에는 숫자를 증가시키는 기능도 클래스에 포함해서 새로운 클래스를 정의해보자. 

 

ValueData.java 수정

public class ValueData {
    int value;
    
    void add() {
        value++;
        System.out.println("숫자 증가 value = " + value);
    }
}

 

 

ValueObjectMain.java

public class ValueObjectMain {

    public static void main(String[] args) {
        ValueData valueData = new ValueData();

        valueData.add();
        valueData.add();
        valueData.add();
        System.out.println("최종 숫자 : "+ valueData.value);
    }

}

 

 

이 객체는 멤버 변수 뿐만 아니라 내부에 기능을 수행하는 add() 메서드도 존재한다. 

add() 메서드를 호출하면 메서드 내부에서 value++을 호출한다. 이 때 value에 접근해야 하는데, 기본적으로 본인 인스턴스에 있는 멤버 변수에 접근한다. 본인 인스턴스가 x002 참조값을 사용하므로 자기 자신인 x002.value에 접근하게 된다. 

 

 

 

* 인프런 '김영한의 실전 자바 - 기본편'을 참고하여 작성하였습니다. 

 

'프로그래밍언어 > Java' 카테고리의 다른 글

[Java 기본] 객체란?  (0) 2024.07.04
[Java 기본] 객체 지향 프로그래밍  (0) 2024.07.03
[Java 기본] 절차 지향 프로그래밍  (0) 2024.07.02
[Java 기본] null  (0) 2024.07.02
[Java 기본] 변수와 초기화  (0) 2024.07.02