생성자에 대해서 알아볼거예요
생성자(Constructor)는 객체를 생성할 때 호출되는 특별한 종류의 메서드입니다. 생성자의 주요 목적은 클래스로부터 객체를
초기화하는 것입니다. 객체가 생성될 때마다 호출되며, 객체의초기 상태를 설정하는 역할을 합니다. 자바에서 클래스에는 하나 이상의 생성자를 정의할 수 있으며, 생성자가 정의되지 않은 경우 기본 생성자가 자동으로 생성됩니다.
라네요.
생성자의 특징
반환 타입을 가지지 않고 클래스의 이름과 동일합니다.객체를 초기화하는 이유..?
객체를 초기화하는 이유는 객체가 사용될 수 있는 상태로 만들기 위해서입니다. 객체를 생성할 때는 해당 객체의 필드를 적절한 값으로 초기화하여 객체가 제대로 동작하고 의도된 대로 작동할 수 있도록 해야 합니다.
그러니까 클래스로부터 객체를 생성할 때 생성자가 호출되고 이 친구가 객체의 초기화를 담당하는데, 이 때 객체의 초기화란 위의 글 대로입니다. 생성자를 실행시키지 않고는 클래스로부터 객체를 만들 수가 없어요.
new 연산자에 의해서 생성자가 성공적으로 실행이 되면 힙 영역에 객체가 생성되고 객체의 주소가 리턴 되는데
이 리턴 된 객체의 주소는 클래스 타입 변수에 저장되어서 객체에 접근할 때 이용돼요.
참고로 모든 클래스는 생성자가 반드시 존재하고 하나 이상을 가질 수 있답니다. 객체=포인터라 생각해도 될라나..
각설하고 생성자의 목적 보실게요.
하는 김에 이거까지 합시다
생성자에서 this.는 현재 객체를 가리키는 특수한 키워드입니다. this는 현재 객체를 참조하며, 주로 인스턴스 변수와 메서드를 참조할 때 사용됩니다.
인스턴스 변수 참조: 생성자에서 인스턴스 변수를 초기화할 때, 인스턴스 변수와 매개변수의 이름이 동일한 경우에 this.를 사용하여 인스턴스 변수를 명시적으로 참조할 수 있습니다.(참고로 인스턴스 변수는 클래스의 변수)
다른 생성자 호출: 하나의 생성자에서 다른 생성자를 호출할 때 사용됩니다. 생성자 내부에서 this()를 호출하여 같은 클래스 내의 다른 생성자를 호출할 수 있습니다. 이를 통해 코드의 중복을 줄이고 재사용성을 높일 수 있습니다.
다음은 접근제한자에 대해서 알아볼 예정입니다~!