(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

객체란 물건 또는 대상을 의미하며, 이를 코드로 구현한 것이 클래스이다. 그리고 클래스를 메모리 공간에 생성한 상태를 인스턴스라고 한다. 쉽게 말해 클래스가 붕어빵 틀이라면 인스턴스는 붕어빵 틀을 통해 찍어내는 붕어빵이라고 할 수 있다.

 

■ 인스턴스(Instance) 생성

- 인스턴스는 new 예약어를 이용하여 생성할 수 있다. 하나의 클래스 타입으로 여러개의 인스턴스를 생성 가능하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Customer {
    String name;
    int money;
        
    public void customerInfo() {
        System.out.println("이름 : " + name + ", 가진돈 : " + money);
    }
}
 
public class Main {
    public static void main(String[] args) {
        Customer c1 = new Customer();
        c1.name = "무민";
        c1.money = 2000;
        
        Customer c2 = new Customer();
        c2.name = "마루코";
        c2.money = 3000;
        
        c1.customerInfo(); // 이름 : 무민, 가진돈 : 2000
        c2.customerInfo(); // 이름 : 마루코, 가진돈 : 3000
    }
}
cs

Line 1 ~ 8 : Customer라는 객체를 구현한 클래스

Line 12 : Customer 인스턴스 c1 생성

Line 13 ~ Line 14 : c1 인스턴스의 값 설정

Line 16 : Customer 인스턴스 c2 생성

Line 17 ~ Line 18 : c2 인스턴스의 값 설정

Line 20 ~ 21 : 인스턴스의 값 출력

 

■ 참조 변수와 참조 값

- Customer c1 = new Customer()에서 c1을 Customer 인스턴스를 가리키는 참조 변수라고 한고, 참조 변수는 참조 값을 갖는다. 참조 값을 통해 인스턴스의 메모리 위치에 접근할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Customer {
    String name;
    int money;
}
 
public class Main {
    public static void main(String[] args) {
        Customer c1 = new Customer();
        c1.name = "무민";
        c1.money = 2000;
        
        System.out.println("참조 변수의 참조 값 : " + c1); // 참조 변수의 참조 값 : test.Customer@15db9742
    }
}
cs

Line 12 : 참조 변수의 참조 값을 출력한다.

'Java' 카테고리의 다른 글

자바(Java) 접근 제어자  (0) 2020.06.30
자바(Java) 생성자(Constructor)  (0) 2020.06.30
자바(Java) 객체 지향 프로그래밍(OOP)  (0) 2020.06.30
자바(Java) break, continue문  (0) 2020.06.26
자바(Java) for문  (0) 2020.06.26

+ Recent posts