생성자가 정의 되어 있지 않아도 된다. 생성자가 하나도 없는 경우에는 컴파일러가 몸체가 비어있는 아래처럼 매개변수 없는 생성자를 정의해 준다.
Class Person{
Person() { }
……
}
생성자는 ‘this’ 키워드를 사용하는 특별한 문법에 의해 자기자신 클래스의 다른 생성자를 호출할 수 있다.
상속 관계에 있는 하위클래스에서 상위클래스의 생성자를 호출 할 때는 super라는 키워드를 쓰며 이러한 this, super를 이용한 다른 생성자의 호출은 첫 문장에 나타나야 한다.
객체가 생성될 때 호출되어 실행하는 메서드이며 메서드 이지만 유일하게 리턴형이 없고 클래스 이름과 동일하다
new 연산자가 호출된 직후에 호출, new 연산자가 메모리를 생성하면 멤버변수들이 메모리를 할당 받는다.따라서 변수들에 대한 초기화 작업이 가능해짐
- 생성자 메서드의 사용이유
할당 받은 멤버변수를 초기화 할 때
객체가 생성되기 전의 미리 해야 할 작업이 있을 때 주로 사용한다.
할당 받은 멤버변수를 초기화 할 때
객체가 생성되기 전의 미리 해야 할 작업이 있을 때 주로 사용한다.
[예제]
public class Person {
private String name = null;
//파라미터 없는 기본 생성자
public Person() {
this.name = "이름없음";
}
private String name = null;
//파라미터 없는 기본 생성자
public Person() {
this.name = "이름없음";
}
public void setName(String name) {
this.name = name;
}
this.name = name;
}
public String getList() {
String str = name;
return str;
}
String str = name;
return str;
}
public static void main(String[] args) {
Person p = new Person();
String s = p.getList();
System.out.println(s);
p.setName("홍길동");
s = p.getList();
System.out.println(s);
}
}
Person p = new Person();
String s = p.getList();
System.out.println(s);
p.setName("홍길동");
s = p.getList();
System.out.println(s);
}
}
[결과]
이름없음
홍길동
홍길동
오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)
[개강확정 강좌]
[평일저녁9/24]iPhone 하이브리드 앱 개발 실무과정
[평일저녁9/26]Spring3.X, MyBatis, Hibernate실무과정 
[주말9/28] 웹퍼블리싱 마스터 
댓글 없음:
댓글 쓰기