정의 : 세상에 존재하는 모든 것, 주변에 있는 사물이나 생명체들 모두를 뜻함.
용도 : 객체의 속성과 기능에 따라 용도가 바뀜.
정의 : 객체를 정의해 놓은 것.
용도 : 객체를 생성하는 데 사용됨.
class Test { // 클래스 생성
}
public class Sample {
public static void main(String[] args) {
Test t = new Test(); // 객체 생성
}
}
new 연산자를 통해서 인스턴스를 생성할 때 제일 먼저 실행되는 메소드.
생성자의 특징
- 클래스명과 동일하게 정의해야 함.
- 생성자 앞에는 접근제어자만 올수 있다.
- 반환값이 없으므로 void나 자료형을 작성할 수 없다.
객체를 만들고 조작하며 객체끼리 관계를 맺음으로써 다수의 함께 수행되는 언어를 말함.
객체(Object)는 인스턴스(instance)를 포함하는 일반적인 의미.
인스턴스화 : 클래스로부터 인스턴스를 생성하는 것.
생성 방법 : 클래스명 참조변수명;
참조변수명 : new 클래스명();
인스턴트의 특징
- 참조변수.매서드명으로 객체에 접근 가능
- 하나의 인스턴스를 여러개의 참조 변수가 가르키는 경우는 가능함.
- 여러개의 인스턴스를 하나의 참조변가 가르키는 경우는 불가능함.
클래스를 배열로 선언하는 것.
사용하는 이유
- 객체는 메모리에서 single record만 표현 가능.
따라서 multiple record를 표현할 시 객체 배열을 사용.- 다양한 타입의 데이터를 객체 배열에 저장할 수 있기 때문.
기본 배열 | 객체 배열 |
---|---|
선언과 동시에 메모리 생성 | 선언과 동시에 메모리 생성 X |
public class Test {
public static void main(String[] args) {
Customer[] arr = new Customer[2];
arr[0] = new Customer(709270, "Robert"); // 매개변수 지정
arr[1] = new Customer(709219, "Neal");
}
}
class Customer {
public int id;
public String name;
Customer(int id, String name){ // 받은 매개변수로 값 대입
this.id = id;
this.name = name;
}
System.out.println(id, name) // 아이디와 이름 출력
}