728x90
자바를 오랜만에 다시 공부하고 있는데, 생성자 부분이 중요하다고 느꼈다.
생성자
: 자바에서 클래스를 생성할 때 사용되는데, 클래스를 처음 만들 때 멤버 변수나 상수를 초기화한다. 아래 예시의 클래스 PersonTest의 Person( ) 같은 함수를 생성자라고 한다.
디폴트 생성자
: 생성자가 없는 클래스는 클래스 파일을 컴파일 할때 자바 컴파일러에서 자동으로 생성자를 만들어준다. 디폴트 생성자는 매개변수가 없고 구현 코드도 없다.
package constructor;
public class Person{
String name;
float height;
float weight;
public Person( ){ }
}
package constructor;
public class PersonTest{
public static void main(String[] args){
Person personKim = new Person();
}
}
오류 발생
: 생성자를 직접 구현하여 디폴트 생성자가 없는 상황이다. 자바 컴파일러는 생성자가 하나도 없을 때만 디폴트 생성자 제공한다. 오류를 없애기 위해서는 매개변수가 있는 생성자로 호출하거나 디폴트 생성자를 직접 추가해주어야한다.
package constructor;
public class Person{
String name;
float height;
float weight;
public Person(String pname){
name = pname;
}
}
package constructor;
public class Person{
String name;
float height;
float weight;
public Person(){ }
public Person(String pname){
name = pname;
}
}
출처: Do it! 자바 프로그래밍 입문_박은종 지음
728x90
'Java' 카테고리의 다른 글
Java_추상 클래스 (0) | 2021.02.20 |
---|---|
Java_상속 (0) | 2021.02.20 |
Java_싱글톤 패턴 (0) | 2021.02.19 |
Java_힙 메모리 (0) | 2021.02.19 |
Java_변수와 메모리 (0) | 2021.02.19 |