본문 바로가기

프로그래밍/Java

생성자와 this

■ 생성자 (Constructor) : 클래스에서 선언한 멤버변수와 메소드에 대한 정보를
heap 메모리에 할당하고 멤버변수를 기본값으로 초기화한다.
-생성자의 특징
  -생성자의 이름은 클래스 이름과 똑같아야 한다.
  -선언
    [modifier] ClassName([argument-list]){    //객체 생성시 필요한 구문    }
  - 모양은 메소드와 비슷하나 리턴 타입이 없으며 이름은 클래스 이름과 같아야 한다
  - 클래스내에 생성자가 없으면 컴파일러가 기본 생성자(defaultConstructor)를
     컴파일시에 만들어준다.
      ** 기본생성자는 아규먼트가 없는 생성자를 의미
      ** 만약 클래스내에 생성자가 하나라도 있으면 컴파일러는 기본생성자를
          만들지않는다.
■ this : 객체를 가리키는 지시자
 - 멤버변수와 로칼변수의 이름이 같을때 두 변수를 구별하고자
    멤버변수 앞에 this를 붙인다.
 ex)
 public class Account{
 public String accountNo;
 public String name;
 public int balance;
 public Account(String accountNo, String name, int balance){
       this.accountNo = accountNo;  
       this.name = name;  
       this.balance=balance;
 }
}
 - 생성자에서 클래스 내에 있는 아규먼트가 다른 생성자를 호출하고자 할때
   **주의점 : 생성자에서 다른 생성자를 호출할경우 반드시 첫번째라인에서
      호출해야한다.  그렇지 않으면 컴파일 에러 발생
public class Account{
    public Account(){
          this("001","",1000);
    }
    public Account(String accountNo, String name, int balance){
          this.accountNo = accountNo;   this.name = name;   this.balance=balance;
    }
}
반응형

'프로그래밍 > Java' 카테고리의 다른 글

상속,다형성,static,final, abstract  (0) 2009.01.21
오버로딩, 캡슐화,bean  (0) 2009.01.21
object와 클래스  (0) 2009.01.21
자바의 연산자와 배열  (0) 2009.01.21
자바 기본 내용  (0) 2009.01.21