1. 객체란?
- 개념
- 소프트웨어 세계에 구현할 대상
- 클래스에 선언된 모양 그대로 생성된 실체
- 특징
- ‘클래스의 인스턴스(instance)’ 라고도 부른다.
- 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다.
- oop의 관점에서 클래스의 타입으로 선언되었을 때 ‘객체’라고 부른다.
2. 생성자
- 클래스에 대한 객체 생성시 인스턴스변수의 초기화를 담당하는 메소드이다
클래스명 레퍼런스변수명 = new 생성자 ( [초기값, …… ] );
- 생성자는 이름이 반드시 클래스명과 동일해야 하고 리턴타입이 없다.
- 생성자는 오버로딩 가능하므로 매개변수 타입과 개수를 다르게 하여 여러 개의 생성자를 만들 수 있다.
[접근제한자] 생성자이름 (자료형 매개변수, … ) {
this.필드명 = 매개변수;
}
3. 기본생성자 (Default)
- 매개변수가 없는 생성자로 객체 생성시 JVM 이 준비한 기본값으로 초기화된다.
- 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다.
- 매개변수가 있는 생성자가 한 개 작성된 경우에는 기본 생성자는 자동 추가되지 않는다.
public class Point {
public Point() { }
}
4. 매개변수가 있는 생성자
- 생성자는 오버로딩(Overloading)이 가능하므로 생성자의 매개변수를 다르게 구성하여 여러 개의 생성자를 만들 수 있다.
- 매개변수가 있는 생성자와 디폴트 생성자 둘 다 필요하다면 둘 다 정의해야 한다
public class Point {
private int posX, posY;
public Point() { }
public Point(int posX, int posY) {
this.posX = posX;
this.posY = posY;
}
}