ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자바] 생성자의 개념과 생성자를 사용하는 이유
    안드로이드 스튜디오/JAVA 자바 2022. 10. 3. 22:29

    생성자에 대한 개념을 정리하고자 합니다.

     

    생성자는 기본으로 생성되는 기본 생성자가 있으며, 생성자를 선언하지 않을 경우, 이 생성자가 사용될 수 있습니다. 

     

    우리가 생성자를 사용하는 이유는 생성자를 통해 코드를 간결하고 쉽게 표현할 수 있기 때문입니다. 

     

    Date date = new Date(); 을 통해 date를 선언한 수 있으며, 이는 new Date()까지 와야 선언이 끝납니다. 이걸 초기화라고 할 수 있습니다. 인스턴스의 초기화가 되는 것인데요. 클래스를 클래스 안에 선언함으로써 인스턴스화라고 볼 수 있습니다.

     

    아직까지도 이 인스턴스화와 초기화, 객체 생성, 변수 등의 개념들이 헷갈리지만 점차 정리되고 있는 느낌입니다. (???)

     

    다시 생성자로 돌아가서 생성자는 기존 클래스의 이름과 동일해야하며, 참조변수 값들을 넣어줄 수 있습니다.

     

    public Date() {

        this.year = year;

        this.month = month;

    }

     

    등의 생성자를 생성할 수 있으며 이는 다른 클래스에서 인스턴스화를 하게되면,

     

    Date date = new Date(); -> 소괄호 안에, year, month의 값이 들어가 하는 것입니다. 그렇다면 생성자가 생성된 클래스를 통쨰로 확인해야 합니다. 그럼 멤버변수와 함께 클래스 이름까지 확인할 수 있습니다.

     

    public class Date() {

        int year;

        int month;

     

        public Date() {

            this.year = year;

            this.month = month;

        }

        // 생성자 부분.

    }

     

    그렇다면 위의 객체생성으로 다시 돌아가보면, 인스턴스화를 시킨다면 Date() 소괄호 안에, int year + int month 를 뜻하는 변수타입을 int 로 가지는 값을 넣어줘야 합니다. 예를 들어서, Date date = new Date(); 에서 Date date = new Date(2022, 10); 으로 해줘야 합니다. 그렇지 않으면

     

     

    Date date = new Date();

    date.month = 10;

    date.year = 2022; 

     

    등등의 값들을 하나씩 입력해줘야합니다. 물론 사용하고자 하는  -> 즉 인스턴스화 시킨 혹은 객체를 생성한 클래스마다 전부 new Date()로 도배한다음 값들을 하나씩 입력해줘야합니다. 

     

    현재까지 이해한 내용은 여기까지 입니다. Constructor 지끈지끈합니다.

     

    반응형

    댓글

Designed by Tistory.