생성자(Constructor)
생성자는 new 키워드로 클래스의 객체(또는 인스턴스)가 생성될 때 제일 먼저 자동적으로 호출되는 특별한 메서드이다.
따라서, 객체의 초기값을 설정하는 등의 용도로 많이 사용된다.
- 생성자명은 클래스명과 동일하게 만든다.
- 생성자는 리턴되는 반환값이 없다. --> 객체가 생성될 때 제일 먼저 호출만 된다.
- 생성자는 오버로딩이 가능하다.
- 생성자는 default 생성자라는 것이 있다. --> 클래스내에 생성자가 없다면 default 생성자가 자동 호출 --> 클래스명과 동일하고, 받는 인자값 X.
class Person {
// 속성
int age;
String name;
// 생성자
Person() { } //반환값이 없는 메서드. 객체가 생성될때!!(==인스턴스 생성될때!!) 자동으로 호출되는 메서드
// 메서드 (자동으로 호출되지는 않는 메서드)
void move() {
System.out.println( "Person is moving." );
}
}
class Person {
// 속성
int age; // 나이
String name; // 이름
// 생성자 (다시말하지만 생성자는 반환값이 없다.)
Person() {} //받는 인자값이 없는 생성자
Person( int age, String name ) {
//받는 인자값이 있는 생성자. 따라서 생성자가 여러개 존재해도 원하는 생성자를 호출할 수 있다.
//-->다시말해 오버로딩이 가능하다!
this.age = age;
this.name = name;
}
// 메서드
void printPerson() {
System.out.println( "나이 : " + age + ", 이름 : " + name );
}
}
public class Java {
public static void main(String[] args) {
// 객체 생성
Person p1 = new Person( 20, "홍길동" );
//System.out.println( p1 ); //주소값 출력한다. new는 객체 생성과 동시에 주소를 가리키고 있으니까
//System.out.println( p1.age ); // 20
//System.out.println( p1.name ); // 홍길동
p1.printPerson();
Person p2 = new Person( 30, "이순신" );
p2.printPerson();
}
}
'JAVA' 카테고리의 다른 글
JAVA 상속과 생성자 상속 (0) | 2022.07.15 |
---|---|
자바 Static (0) | 2022.07.12 |