본문 바로가기
JAVA

JAVA 생성자

by sxlvxrjxms2s2itsmes2s2 2022. 7. 15.

생성자(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