본문 바로가기
Language/Java

객체지향프로그래밍1-2

by 서초록 2021. 10. 26.

생성자 this

- 생성자에서 다른 생성자 호출할 때 

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

 

참조변수 this

- 같은 클래스 안에서는 생략가능(단, lv와 이름이 같을 경우 생략X)

- 생성자와 인스턴스 메서드에서만 사용가능

- static메서드(클래스메서드)에서는 사용불가(iv사용불가이기때문에)

 

변수의 초기화

- 지역변수(lv)는 수동초기화해야함

- 멤버변수(iv, cv)는 자동초기화됨(기본적으로 0으로 초기화됨)

 

멤버변수의 초기화

1. 명시적 초기화(=) : 선언시 대입연산자를 이용하여 초기화. 간단한 초기화 방법

참조형 변수는 객체를 만들어서 null값이 아닌, 값을 넣어줘야한다. 

 

2. 초기화 블럭 : 복잡한 초기화, 여러 문장 넣을 때

- 인스턴스 초기화 블럭 : {}

- 클래스 초기화 블럭 : static {}

 

3 생성자 : iv 초기화 시 사용, 복잡한 초기화

 

cv, iv 초기화 정리

자동초기화 o

간단 초기화 = 

복잡 초기화 {}, static{}, 생성자

 

멤버변수의 초기화

클래스 변수 초기화 시점 : 클래스가 처음 로딩 될 때(클래스가 메모리에 올라갈 때) 단 한번

인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때마다

 

초기화 순서

1. 클래스변수먼저 초기화 된 후 인스턴스 변수 초기화

2. 자동 -> 간단 -> 복잡초기화 순으로 진행

 

 

 

 

 

 

 

'Language > Java' 카테고리의 다른 글

LinkedList  (0) 2021.12.18
객체지향프로그래밍2  (0) 2021.10.26
[Java] 클래스의 정의  (0) 2021.01.14
[Java] 객체배열  (0) 2021.01.14
컬렉션 프레임웍(Collection Framework)  (0) 2020.12.24