티스토리 뷰

JAVA

[자바(JAVA)] 생성자란 무엇인가?

bbigbros 2017. 6. 27. 22:19

생성자(Constructor)

특징

  • 클래스에는 반드시 생성자가 존재해야 한다.
  • 인스턴스 생성시 딱 한번 호출 된다.
  • 인스턴스 변수의 초기화가 목적이다.
  • 클래스 이름과 동일한 이름을 가진 메소드이다.
  • 반환형이 존재하지 않는다. (즉, return이 없다.)

사용방법

  • 클래스명 참조변수 = new 클래스명(초기화 변수)

      public class Test{
          public static void main(String[] args) {
              Person p1 = new Person(10, "홍길동");
          }
      }
      class Person {
          public int age;
          public String name;
    
          public Person(int age, String name) {
              this.age  = age;
              this.name = name;
          }
          public String personInfo() {
              return "이름: " + name + ", 나이: "+ age;
          }
      }
    
  • 생성자가 없어도 클래스를 생성할 수 있다 이유는?
     >>  생성자가 존재하지 않으면 스스로 default 생성자를 만들기 때문이다.

      public class Test{
          public static void main(String[] args) {
              // 파라미터를 통해 생성자를 불러온다.
              Person p1 = new Person(10, "홍길동");
              System.out.println(p1.personInfo());
    
              // 파라미터가 없으므로 default 생성자가 소환된다.
              Person p2 = new Person();
              System.out.println(p2.personInfo());
          }
      }
    
      class Person {
          private int age;
          private String name;
    
          public Person(int age, String name) {
              this.age  = age;
              this.name = name;
          }
    
          public Person() {
              System.out.println("default 생성자");
          }
    
          public String personInfo() {
              return "이름: " + name + ", 나이: "+ age;
          }
      }
    


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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 31
글 보관함