생성자

김현·2023년 7월 10일

자바

목록 보기
14/31

1. 생성자란?
Member member = new Member(); -> new Member(); 메서드의 형태로 되어있음

  • new 키워드를 사용하여 객체가 생성될 때 자동으로 실행되는 특수한 형태의 메서드

  • 리턴형을 명시하지 않으며 메서드의 이름은 클래스와 동일하다.

    class Member{
    	Member(){
    이 안의 객체가 생성될 때 자동으로 호출된다.                
      }                          
    	....
    }
  • 자동으로 실행된다는 특성 때문에, 객체가 생성되면서 해당 객체의 특성을 초기화 하기 위하여 사용된다.
    (ex. 멤버변수의 초기값을 할당하는 용도)

2. 기본 생성자

  • 파라미터가 없는 생성자

  • 클래스에 특별히 생성자가 정의되지 않은 경우 java컴파일러는 다음과 같은 기본 생성자가 존재한다고 인식한다.

    		class User{
    			User(){
    		// 생성자가 있지만, 내용이 비어있다.    
    			}
    		}

3. 파라미터를 갖는 생성자

  • 생성자도 메서드의 한 종류이므로 파라미터를 함께 정의하는 것이 가능하다.
  • 생성자의 파라미터를 멤버변수에 복사하는 것으로 객체의 초기화를 외부적인 요인에 의해 처리할 수 있다.
    class Student{
    String name;
    int age;
    			Student(String name, int age){
    				// 생성자 파라미터의 값을 멤버변수에 복사
    				this.name = name;
    				this.age = age;
    			}
    		}

// 생성자에 파라미터가 정의된 경우 객체 생성 구문에서 해당 파라미터를 전달해야한다.
Student std = new Student("자바학생", 20);
-> 기본 파라미터, 위에 String name과 int age를 설정했기에 파라미터 값을 동일하게 넣어줘야됨

0개의 댓글