Language/Java
객체지향프로그래밍1-2
서초록
2021. 10. 26. 16:17
생성자 this
- 생성자에서 다른 생성자 호출할 때
- 다른 생성자 호출 시 첫 줄에서만 사용가능
참조변수 this
- 같은 클래스 안에서는 생략가능(단, lv와 이름이 같을 경우 생략X)
- 생성자와 인스턴스 메서드에서만 사용가능
- static메서드(클래스메서드)에서는 사용불가(iv사용불가이기때문에)
변수의 초기화
- 지역변수(lv)는 수동초기화해야함
- 멤버변수(iv, cv)는 자동초기화됨(기본적으로 0으로 초기화됨)
멤버변수의 초기화
1. 명시적 초기화(=) : 선언시 대입연산자를 이용하여 초기화. 간단한 초기화 방법
참조형 변수는 객체를 만들어서 null값이 아닌, 값을 넣어줘야한다.
2. 초기화 블럭 : 복잡한 초기화, 여러 문장 넣을 때
- 인스턴스 초기화 블럭 : {}
- 클래스 초기화 블럭 : static {}
3 생성자 : iv 초기화 시 사용, 복잡한 초기화
cv, iv 초기화 정리
자동초기화 o
간단 초기화 =
복잡 초기화 {}, static{}, 생성자
멤버변수의 초기화
클래스 변수 초기화 시점 : 클래스가 처음 로딩 될 때(클래스가 메모리에 올라갈 때) 단 한번
인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때마다
초기화 순서
1. 클래스변수먼저 초기화 된 후 인스턴스 변수 초기화
2. 자동 -> 간단 -> 복잡초기화 순으로 진행