[JAVA] 클래스와 객체, 필드와 메서드, 생성자

승 아·2023년 2월 24일

클래스는 객체를 정의해 놓은 것으로 객체를 생성하는 데에 사용되고, 설계도에 비유된다.

객체는 실제로 존재하는 것으로 객체가 가지고 있는 기능과 속성에 따라 다르게 사용되며, 제품에 비유된다.

클래스는 속성을 나타내는 필드와 기능을 나타내는 메서드로 분류된다.
객체는 아래와 같이 생성할 수 있다.

클래스명 변수명 = new 클래스명();
출처 : 코드스테이츠 백엔드 44기 강의자료

필드는 클래스에 포함된 변수를 의미한다. 자바의 변수에는 클래스 변수(cv, class variable), 인스턴스 변수(iv, instance variable), 지역 변수(lv, local variable)로 분류할 수 있다. 이 중 필드는 클래스 변수, 인스턴스 변수를 말한다.

자바 변수

  • 클래스 변수 : static O, 공통된 저장공간을 공유, 클래스가 로딩될 때 생성되므로 메모리에 한 번 올라감, 인스턴스를 생성하지 않고 클래스이름.클래스변수명을 통해 접근, 메소드 영역에 저장
  • 인스턴스 변수 : static X, 독립적인 저장 공간을 가짐, 인스턴스가 생성될 때 생성, 힙에 저장
  • 지역 변수 : 메서드 내에 선언, 메서드 내({} 블록)에서만 사용가능, 스택에 저장

메서드는 프로그램이 실행되고 있을 때 클래스에서 생성된 인스턴스와 관련된 동작을 정의한다.

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

this()

  • 생성자에서 다른 생성자를 호출할 때 사용 하는 메서드
  • 생성자의 내부에서만 사용
  • 생성자의 첫 줄에 위치

this

  • 인스턴스 자신을 가리키는 참조 변수
  • 인스턴스 변수와 매개변수를 구분하기 위해 사용

    Car(String A, String B, String C){
    //this.A는 인스턴스 변수, A는 지역변수를 의미
    this.A = A;
    this.B = B;
    this.C = C;
    }

참고 : java의 정석 기초편(남궁성), 코드스테이츠 백엔드 44기 강의자료

profile
개발 공부를 기록하는 공간

0개의 댓글