생성자

인철·2023년 10월 13일
0

Java

목록 보기
20/52

생성자

  • 객체가 생성될 때 호출되는 특수한 메서드
  • 해당 클래스의 인스턴스를 초기화하고 초기 상태 설정하는데 사용
  • 메서드와 유사
구조
class MyClass {
    // 필드 선언

    // 기본 생성자
    public MyClass() {
        // 초기화 코드
    }

    // 매개변수가 있는 생성자
    public MyClass(parameters) {
        // 초기화 코드
    }
}

기본 생성자

  • 매개변수가 없는 생성자로, 명시적으로 정의하지 않을 경우 자바는 기본 생성자 제공하고 주로 객체를 생성하고 필드를 초기화하는데 사용

매개변수가 있는 생성자

  • 하나 이상의 매개변수를 받는 생성자로, 객체를 특정 값으로 초기화하고 생성할 때 사용

쓰이는 상황

  • 객체를 생성하고 초기화할 때
  • 필요로 하는 초기 상태 설정할 때

문법 및 구조

  • 클래스이 이름 동일
  • 클래스의 맴버로 선언
  • return x

주의할 점

  • 이름 대문자로 시작
  • 오버로딩을 통해 다양한 초기화 방법 제공 가능
  • 명시적으로 생성자 정의 하지않을 시 기본생성자 생성
  • 상위클래스 생성자 호출하기 위해 super 사용
// Person 클래스 정의
class Person {
    String name; // 문자열 형식의 이름을 나타내는 필드
    int age; // 정수 형식의 나이를 나타내는 필드

    // 생성자: 이름과 나이를 매개변수로 받아 객체를 초기화하는 메서드
    public Person(String name, int age) {
        this.name = name; // this 키워드를 사용하여 현재 인스턴스의 필드에 접근
        this.age = age;
    }

    // 정보 출력 메서드
    public void displayInfo() {
        System.out.println("이름: " + name); // 이름 출력
        System.out.println("나이: " + age); // 나이 출력
    }
}

// Person 클래스 활용 예제
public class Main {
    public static void main(String[] args) {
        // 생성자를 사용하여 Person 객체 초기화
        Person person1 = new Person("John Doe", 30); // 이름이 "John Doe"이고 나이가 30인 Person 객체 생성

        // 정보 출력
        person1.displayInfo(); // Person 객체의 정보 출력
    }
}
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글