코드스테이츠 12일차

안형준·2022년 5월 11일
0

코드스테이츠

목록 보기
12/32
post-thumbnail

1차 학습목표

  1. 객체지향 프로그래밍의 기본 토대인 객체를 이해할 수 있다.
  2. 객체를 만드는 데 필요한 클래스의 대한 개념을 이해하고, 클래스에 기반하여 객체를 생성할 수 있다.
  3. 클래스를 구성하는 중요한 구성요소로서 필드와 메서드, 그리고 생성자를 이해하고 활용할 수 있다.
  4. 객체지향 프로그래밍의 기초 내용을 블로깅을 통해 정리하고 기록한다.
👻생성자(Constructor)
생성자(Constructor)는 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드라 볼 수 있다.
주의할 점은 생성자는 인스턴스를 생성하는 역할을 하지 않는다.
인스턴스 생성을 담당하는 것은 new 키워드이며, 생성자는 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드라 할 수 있다.

생성자와 메서드의 큰 차이는?
1. 생성자의 이름은 반드시 클래스의 이름과 같아야 한다.
2. 생성자는 리턴 타입이 없는데, 메서드와 달리 void 키워드를 사용하지 않는다. 아예 리턴 타입 자체가 존재하지 않기 때문이다.

생성자는 오버로딩이 가능하므로 한 클래스 내에 여러 개의 생성자가 존재할 수 있다.

👻기본 생성자(Default Constructor)
모든 클래스에는 반드시 하나 이상의 생성자가 존재해야 하는데, 따로 생성자를 만들지 않아도 자바 컴파일러가 기본 생성자를 자동으로 추가해준다.
DefaultConst(){} // 예시) DefaultConst 클래스의 기본 생성자

👻매개변수가 있는 생성자
매개변수가 있는 생성자는 메서드처럼 매개변수를 통해 호출 시에 해당 값을 받아 인스턴스를 초기화하는 데 사용된다.
고유한 특성을 가진 인스턴스를 계속 만들어야하는 경우 인스턴스마다 각기 다른 값을 가지고 초기화할 수 있어서 매우 유용하다.

👻this()
생성자는 생성자들끼리 서로 상호 호출이 가능한데, 이를 위해 사용하는 것이 this() 메서드이다.
this() 메서드는 자신이 속한 클래스에서 다른 생성자를 호출하는 경우에 사용한다.

this() 필수사항?
1. this() 메서드는 반드시 생성자의 내부에서만 사용할 수 있다.
2. this() 메서드는 반드시 생성자의 첫 줄에 위치해야 한다.

👻this 키워드
인스턴스 변수와 매개변수를 이름만으로는 구분하기가 어려운 경우 이를 구분해주기 위해 사용된다.
ex)
this.modelName = modelName 대신 modelName = modelName 라고 작성하면 둘 다 지역변수로 간주된다.

오늘은 생성자와 관련된 개념을 학습했다.
사실 우리가 너무나도 당연하게 사용하고 있던 것들이 기본 생성자였음을 알았을 때는 헉!소리가 나왔다.
물론 예상했던대로 많이 어려웠다. ㅎㅎ; 그래도 포기하지 않고 끝까지 해내고 싶다.
겨우 이런 일로 포기하기엔 프로그래밍이 생각 이상으로 너무 재미있고 모르는 부분을 끝내 깨달았을 때에 느끼는 보람이 정말 크다. 앞으로도 끝까지 포기하지 않고 열심히 해야지
오늘도 고생했고 내일도 파이팅!

profile
개발 공부

0개의 댓글