클래스와 메서드
클래스는 멤버 변수 뿐 아니라 기능 역할을 하는 메서드도 포함할 수 있다.
다음의 예제를 살펴보자.
예제
데이터를 증가시키는 간단한 프로그램을 작성했다.
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 |