2013년 9월 18일 수요일

[자바7, 자바1.7, JDK1.7, 자바7강좌, 자바교육]자바 객체 생성자(java constructor, object constructor, java new)

[자바7, 자바1.7, JDK1.7, 자바7강좌, 자바교육]자바 객체 생성자(java constructor, object constructor, java new)

생성자가 정의 되어 있지 않아도 된다. 생성자가 하나도 없는 경우에는 컴파일러가 몸체가 비어있는 아래처럼 매개변수 없는 생성자를 정의해 준다.

Class Person{
Person() { }
……
}
생성자는 ‘this’ 키워드를 사용하는 특별한 문법에 의해 자기자신 클래스의 다른 생성자를 호출할 수 있다.

상속 관계에 있는 하위클래스에서 상위클래스의 생성자를 호출 할 때는 super라는 키워드를 쓰며 이러한 this, super를 이용한 다른 생성자의 호출은 첫 문장에 나타나야 한다.
객체가 생성될 때 호출되어 실행하는 메서드이며 메서드 이지만 유일하게 리턴형이 없고 클래스 이름과 동일하다

new 연산자가 호출된 직후에 호출, new 연산자가 메모리를 생성하면 멤버변수들이 메모리를 할당 받는다.따라서 변수들에 대한 초기화 작업이 가능해짐
- 생성자 메서드의 사용이유
할당 받은 멤버변수를 초기화 할 때
객체가 생성되기 전의 미리 해야 할 작업이 있을 때 주로 사용한다.
[예제]
public class Person {
 private String name = null;

 //파라미터 없는 기본 생성자
 public Person() {
  this.name = "이름없음";
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getList() {
  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);
 }
}

[결과]
이름없음
홍길동


오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  



댓글 없음:

댓글 쓰기