티스토리 뷰

Java

class 생성자

BaeZzang22 2023. 1. 17. 14:57

 < 생성자 >
1. 클래스 이름과 동일하되, 리턴타입 없고, 객체 생성시 접근 제한자는 public
 class Test {
   public Test(){ // 생성자
    }
 } 
 
2. 생성자는 객체 생성을 하는 new 연산자와 함께 사용하며 생성시 단 한번만 자동 호출된다.
 Test t1 = new Test(); 만들어진다
    
3. 메서드처럼 객체 및 클래스명으로 호출할 수 없다.
   t1.Test(); // 안됨!!!
 
4. overload 할 수 있다.
  class Test {
     public Test(){}   // 기본생성자
     public Test(int a){}
     public Test(int a, int b){}
   } 

5. 생성자를 명시하지 않으면 기본 생성자가 제공되어 필드 초기화 하고, 명시된 생성자를 선언하게 되면 명시 생성자만 호출되고 기본 생성자는 자동 생성되지 않는다. 
    class AA {                 // new AA();
    }
    
    class BB {               // new BB(); 안됨!!
       public BB(int b){}     // new BB(10); 됨!!
     }
     
6. 생성자는 상속되지 않는다.
7. 생성자는 내부 호출 가능하며, 키워드는 this();
8. 생성자의 목적은 필드 초기화 및 객체 생성에 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함