코드스테이츠 백엔드 12일차 | 객체지향 프로그래밍 2

hyoreal·2022년 7월 8일
0

CodeStates

목록 보기
14/32

오늘은 어제에 이어서 객체지향프로그래밍의 생성자와 이너클래스를 공부한다! 뒤에 심화실습이 너무 재밌을것만같아 기대된당!!!

생성자 (Consturctor)

  • 생성자 : 인스턴스 생성 시 호출되는 인스턴스의 초기화 메서드.
  • new를 통해 인스턴스 생성.
    • 생성자는 반드시 클래스와 이름이 같아야함.
    • 생성자는 리턴타입없음.
    • 반드시 public으로 선언.

기본 생성자 (Default Constructor)

  • 생성자를 따로 만들지 않아 클래스 안에 포함되어있지 않을 때 자바컴파일러가 자동으로 기본생성자를 생성.
  • 기본 생성자 : 매개변수가 없는 생성자.

매개변수가 있는 생성자

  • 인스턴스 생성 후 필드값을 일일이 설정할 필요 없음.
  • 생성과 동시에 값 설정 가능.
  • 매개변수의 개수와 타입에 맞게 생성자를 호출해야함.

this()

  • 같은 클래스 안에서 다른 생성자를 호출.
  • this()는 생성자 내부에서만 사용가능.
  • this()는 생성자의 첫 줄에 위치해야함.

this 키워드

  • 인스턴스 변수와 매개변수를 구분하기 위함.

내부클래스(Inner class)

  • 클래스 내에 선언된 클래스.

  • 인스턴스 내부 클래스, 정적 내부 클래스, 지역내부클래스로 구분.

  • 인스턴스 내부 클래스 : 외부클래스의 멤버변수 선언위치에 선언.

    • 외부 인스턴스 변수, 외부 전역변수 사용 가능.
  • 정적 내부 클래스 : 외부클래스의 멤버변수 선언위치에 선언.

    • 외부 전역변수 사용 가능.
  • 지역 내부 클래스 : 외부 클래스의 메서드, 초기화블럭 안에 선언.

    • 외부 인스턴스 변수, 외부 전역 변수 사용 가능.
  • 익명 내부 클래스 : 클래스의 선언, 객체생성을 동시에 하는 일회용 익명 클래스.

    • 외부 인스턴스 변수, 외부 전역 변수 사용 가능.

멤버 내부클래스

  • 인스턴스 내부 클래스와 정적 내부 클래스를 멤버 내부 클래스라고 함.

인스턴스 내부 클래스

  • 객체 내부에 멤버형태로 존재. 외부클래스의 모든 접근 지정자 멤버에 접근 가능.
  • 인스턴스 내부 클래스는 외부클래스를 생성한 후에 사용해야함!
  • 외부클래스에서 private를 사용하고 있어도 외부클래스의 인스턴스변수와 정적변수에 접근 가능.
  • 단 정적변수와 정적메서드는 인스턴스 내부 클래스에서 선언 불가.

정적 내부 클래스

  • 내부 클래스가 외부 클래스와 무관하게 정적변수를 사용하기 위해 정적 내부 클래스.
  • static사용.

지역 내부 클래스

  • 메서드 내에서 정의되는 클래스.
profile
좌충우돌 코린이 성장기

0개의 댓글