클래스, 인스턴스, 참조변수, 참조값, 생성자 2023. 4. 16. 19:52

namin0_0·2023년 5월 29일
0

객체 : 객체지향 프로그램의 대상, 생성된 인스턴스

클래스 : 객체를 프로그래밍 하기위해 코드로 만든 상태

인스턴스 : 클래스가 메모리에 생성된 상태

멤버변수 : 클래스의 속성, 특성

메서드 : 멤버변수를 이용하여 클래스의 기능을 구현

참조변수 : 메모리에 생성된 인스턴스를 가리키는 변수 - 내부적으로 주소를 가지고있다.

참조값 : 생성된 인스턴스 메모리의 주소값

생성자 (constructor)

  • 인스턴스 생성 시 new 키워드와 함께 사용했던 생성자

  • ex) studentLee = new Student();

  • 생성자는 인스턴스를 초기화 할 때의 명령어 집합을 말한다.

  • 생성자의 이름은 해당 클래스 이름과 동일하다.

  • 생성자는 메소드가 아니기 때문에 상속되지 않으며 리턴값이 없다. = 생성자는 반환타입이 없다.

  • 생성자는 new 키워드에 의해서만 호출이된다

  • 생성자 기본문법

<class_name>([<argument_list>])

{

[<statements>]

}

디폴트 생성자 (default constructor)

-하나의 클래스에는 반드시, 적어도 하나 이상의 constructor가 존재한다.

  • 디폴트 생성자란 생성자가 하나도 없을 때 컴파일러가 제공해주는 생성자를 말한다. (= 프로그래머가 Constructor를 기술하지 않으면 자동으로 Default Constructor가 자동으로 생김 = 컴파일러가 코드에 넣어줌)

  • 생성자가 하나라도 있을경우 디폴트 생성자는 서포트되지 않는다

  • 생성자가 있을 때 디폴트 생성자가 필요하면 직접 코드를 입력해서 디폴트 생성자를 넣어 줄 수 있다.

  • 디폴트 생성자는 매개변수가 없다.

  • 디폴트 생성자는 구현부가 없다.

  • 만약 클래스에 매개변수가 있는 생성자를 추가하면 디폴트 생성자는 제공되지 않는다.

생성자 오버로드 (constructor overload)

  • 필요에의해 생성자를 추가하는 경우 여러개의 생성자가 하나의 클래스에 있다. (overload)

  • 동일한 이름을 가진 생성자가 존재 할 수 있지만 매개변수가 달라야한다. 이런경우를 생성자 오버로딩, 콘스트럭터 오버로딩이라고 한다.

profile
갓생살기프로젝트

0개의 댓글