Java 생성자 - [Java OOP #2]

6544 단어
이 Java OOP 시리즈의 이전 기사에서 생성자를 사용하여 개체를 초기화하는 방법에 대해 간략하게 언급했습니다. 이 기사에서는 다양한 유형의 생성자에 대해 자세히 설명합니다.

요약



생성자는 개체를 초기화하는 데 사용되는 메서드입니다. 클래스의 객체가 생성될 때마다 한 번 호출됩니다.
  • Java 메서드와 달리 생성자는 클래스와 이름이 같아야 하며 반환 유형이 없습니다.
  • 클래스에 생성자가 없는 경우 Java 컴파일러가 기본 생성자를 생성하므로 클래스에 대한 생성자를 작성할 필요가 없습니다.

  • 생성자의 유형



    Java 생성자는 인수가 없는 생성자와 매개 변수가 있는 생성자로 분류할 수 있습니다. 기본 생성자는 인수가 없는 생성자입니다.
  • 인수 없는 생성자

  • 인수 없는 생성자는 매개 변수가 없는 생성자입니다.

    class Student {
        // fields
        private String name;
    
        // constructor
        Student() {
            name = "Alice"; 
        }
    
        public static void main(String[] args) {
            // constructor is invoked while
            // creating an object of the Student class
            Student newStudent = new Student();
            System.out.println("The name is " + newStudent.name);
        }
    }    
    


  • 매개 변수가 있는 생성자

  • 매개 변수가 있는 생성자는 하나 이상의 매개 변수를 사용하는 생성자입니다.

    class Student {
      String name;
      int age;
    
      Student(String name, int age) {
        this.name = name;
        this.age = age;
        System.out.println(name + " is " + age + " years old.");
      }
    
      public static void main(String[] args) {
        Student Student1 = new Student("Bob", 12);
        Student Student2 = new Student("Krystal", 14);
      }
    }
    

    this 키워드는 Java 컴파일러가 변수와 매개변수의 이름이 같은 경우 구분할 수 없기 때문에 모호성을 피하기 위해 사용됩니다. this 키워드는 생성자 내부의 현재 개체를 참조합니다.
  • 기본 생성자

  • 생성자를 생성하지 않으면 Java 컴파일러는 프로그램 실행 중에 기본 생성자를 생성합니다. 초기화되지 않은 인스턴스 변수를 기본값으로 초기화합니다.


    변수 유형
    기본값


    부울
    거짓

    intbyteshort
    0

    플로트 더블
    0.0


    \u0000

    참조 유형
    없는



    class Example {
    
      int a;
      boolean b;
    
      public static void main(String[] args) {
        // call the constructor
        Example obj = new Example();
    
        System.out.println("Default Value:");
        System.out.println("a = " + obj.a);
        System.out.println("b = " + obj.b);
      }
    }
    

    좋은 웹페이지 즐겨찾기