본문 바로가기
IT 기초/JAVA

[java 정리] 객체지향 프로그래밍I (3)

by 고요히dev 2022. 7. 26.

 

 

 

 

객체지향 프로그래밍(3)

 

 

 

 

생성자에서 다른 생성자 호출 - this()

 

-생성자의 이름으로 클래스이름 대신 this()를 사용

-한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 가능

 

 

객체 자신을 가리키는 참조변수 - this

 

인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있음

 

class Pen{
	String color;
	String type;

	Pen(){
		this("pink", "노크식"); 
        // 아래의 Pen(String color, String type) 생성자를 호출
}

	Pen(String color, String type){
		this.color = color; 
        //this.color는 인스턴스 변수를 의미, color는 매개변수로 받아온 컬러를 의미
		this.type = type;
}
}

 

 

 

 

 

 

변수의 초기화

 

멤버변수(인스턴스, 클래스 변수)는 초기화를 하지 않아도 자동으로 기본값으로 초기화됨

하지만 지역변수는 반드시 초기화를 해주어야 함

 

 

 

 

멤버변수의 초기화

 

클래스 변수 초기화 > 인스턴스 변수 초기화 순서

 

자동 초기화 > 명시적 초기화 > 초기화 블럭, 생성자 순서로 

 

 

 

class Ex{
	static {
		System.out.println("static {}");  
        //(static) 클래스 초기화 블럭
}

{
		System.out.println("{}");  
        //인스턴스 초기화 블럭
}

public Ex(){
	System.out.println("생성자");  
    //생성자
}

public static void main(String[] args){ //메인메서드
	System.out.println("Ex e = new Ex(); ");
	Ex e = new Ex();

}
}

결과
static {}
Ex e = new Ex();    
//클래스 초기화가 먼저 (최초 1번) > 메인메서드 > 
{}                 
//인스턴스 초기화 (인스턴스 생성) > 생성자 (해당 인스턴스 생성)
생성자

 

 

 

 

 

 

 

 

 

 

 

 

 

-자바의 정석 기초편 책으로 공부하였습니다

반응형

댓글