(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
객체란 물건 또는 대상을 의미하며, 이를 코드로 구현한 것이 클래스이다. 그리고 클래스를 메모리 공간에 생성한 상태를 인스턴스라고 한다. 쉽게 말해 클래스가 붕어빵 틀이라면 인스턴스는 붕어빵 틀을 통해 찍어내는 붕어빵이라고 할 수 있다.
■ 인스턴스(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 |