인스턴스(instance)
- 클래스를 기반으로 만들어 내는 객체로 일반적으로 객체라 하면 인스턴스를 의미합니다.
- 인스턴스에는 클래스의 멤버들이 들어오게 되며 각각 멤버 변수, 멤버 메소드라 합니다.
정확하게는 인스턴스변수와 인스턴스메소드라 하지만 보통 멤버라 지칭합니다.
- 인스턴스의 생성 목적은 다른 클래스의 기능(멤버)들을 사용하기 위해서입니다.
.
.
예제
class NumberEx{
int num = 0; // 멤버변수로 현 클래스내에서 자유롭게 사용할 수 있음.
public void addNum(int n){ num += n; }
public int getNumber(){ return num; }
}
class PassInstance
{
public static void main(String[] args)
{
NumberEx nInst = new NumberEx();
// NumberEx nInst : NumberEx 형 인스턴스 nInst를 선언
// new NumberEx() : new 명령어를 통해 인스턴스를 생성
System.out.println("메소드 호출 전 : " + nInst.getNumber());
// nInst.getNumber() : nInst 인스턴스 안에 있는 getNumber() 호출.
test(nInst);
// test메소드를 호출하면서 nInst를 매개변수로 가져감.
// 매개변수로 인스턴스를 가져가면 인스턴스의 값을 가져가는 것이 아닌 인스턴스의 주소값을 가져가게 됨.
System.out.println("메소드 호출 후 : " + nInst.getNumber());
// 12
int n = 10;
System.out.println("메소드 호출 전 : " + n); // 10
test2(n);
//매개변수로 변수를 가져가면 변수의 값을 가져감(원본 변수는 변함이 없음)
System.out.println("메소드 호출 전 : " + n); // 10
}
public static void test(NumberEx num){
num.addNum(12);
// num인스턴스의 addNum()메소드를 12의 값을 매개변수로 하여 호출.
}
public static void test2(int i){
i++;
}
}
728x90
반응형
'Java > 본격 Java 클래스' 카테고리의 다른 글
[Java] 실습 - 사과판매2 (0) | 2020.06.25 |
---|---|
[Java] 실습 - 사과 판매1 (0) | 2020.06.25 |
[Java] 전역 변수 - Local Variable (0) | 2020.06.25 |
[Java] 메소드 실습 - 100이하 소수 찾기 (0) | 2020.06.25 |
[Java] 메소드(Method) Return 키워드 (0) | 2020.06.25 |