본문 바로가기

자바(JAVA)

객체지향 프로그래밍(생성자, 내부 클래스)

생성자 -> 인스턴스가 생성될때 호출되는 인스턴스 초기화 메서드이다.

 특징 1. 생성자의 이름은 클래스의 이름과 같다.

         2. 생성자는 리턴 값이 없다.

 

클래스 이름(타입 변수명, 타입 변수명) {
	// 인스턴스 생성 시 수행될 코드
    // 주로 인스턴스 변수의 초기화 코드를 적는다.
}

 

연산자 new가 인스턴스를 생성하는것, 생성자가 인스턴스를 생성 하는 것은 아니다.

기본 생성자가 컴파일러에 의해서 추가되는 경우는 클래스에 정의된 생성자가 하나도 없을때 뿐이다.

 

this vs this()

this -> 객체 자신을 가리키는 참조 변수 이다.

this() -> 생성자에서 다른 생성자를 호출할때 사용한다.

 특징 1. 생성자의 이름으로 클래스이름 대신 this를 사용. 

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

 

내부클래스 ->  외부 클래스와 내부 클래스가 서로 연관이 되어 있을때 사용

  장점 1. 외부 클래스의 멤버들에 쉽게 접근가능 

          2. 코드의 복잡성을 출일수 있다.

          3. 캡슐화를 당성하는데 유용하다.

 

class Outer {
	class Inner {
    	// 인스턴스 내부 클래스
    }
    static class StaticInner {
    	//정적 내부 클래스
    }
    
    void run() {
    	class LocalInner {
        	// 지역 내부 클래스
        }
    }
}

 

더 공부해야하는 내용들

this 와 this()가 내용은 알겠지만 정확히 어떻게 사용되는지 익숙해 져야 할것같다.

연습문제나 구글링해서 예제를 직접 코드를 쳐봐야 할 것 같다.

 

오늘의 느낀점