Programming/자바(Java)

6 - 32 생성자 (constructor)

먹보 개발자 2024. 9. 30. 00:36

쓰는 이유: 초기화를 편리하게 하기 위해서

 

인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화(=iv 초기화) 메서드'

인스턴스 생성시 수행할 작업(iv 초기화)에 사용

 

생성자를 작성할때 지켜야 할 규칙들

1. 이름이 클래스와 같아야한다.

2. 리턴값이 없다.(void 안붙임) - 항상 반환값이 없다. 

3. 모든 클래스는 반드시 생성자를 가져야 한다. 

Card c = new Card()  → (밑줄 부분이)생성자 호출: 기본생성자

 

기본생성자

매개변수가 없는 생성자

생성자가 하나도 없을때만, 컴파일러가 자동 추가 (생성자가 있으면 추가안함)

기본생성자는 다른생성자가 있더라도 꼭 넣어줘야함(직접 꼭 만들어주면 좋음)

 

생성자 this()

쓰는 이유: 코드의 중복을 제거하기 위해 (코드의 중복을 제거하려면 어느 한쪽이 다른쪽을 호출하면 된다), 코드 재사용성

 

생성자에서 다른 생성자를 호출할 때 사용

다른생성자 호출시 첫 줄에서만 사용 가능 

 

참조변수 this (*****생성자 this()와는 전 혀 다름. 관계x)

인스턴스 자신을 가리키는 참조변수

인스턴스 메서드(생성자 포함)에서 사용 가능

지역 변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용

'Programming > 자바(Java)' 카테고리의 다른 글

7-7 오버라이딩(overriding)  (0) 2024.09.30
7-1 상속  (0) 2024.09.30
6-30 오버로딩  (1) 2024.09.29
6-26 static 메서드와 인스턴스 메서드  (1) 2024.09.29
6-22 호출 스택(call stack)  (0) 2024.09.26