[Java] 클래스(2) - 객체의 생성과 활용

sobam·2022년 11월 2일
0

자바

목록 보기
16/18
post-thumbnail

📔 학습한 내용을 정리하기 위해 작성하는 게시글입니다.

클래스 정의


class 클래스명 {
	...
}

객체를 만들어 사용하기 위해서는 먼저 클래스를 정의해야 한다. 클래스는 객체를 만들기 위한 설계도와 같으며, 멤버변수(필드)와 멤버함수(메서드)로 구성되어 있다.

1. 클래스 구조

public : 접근지정자 중 하나로 해당 클래스에 대한 접근범위를 나타낸다.
Book : 클래스 이름
생성자(constructor) : 생성자 메서드는 객체가 생성될 때 자동으로 실행되는 특수 목적의 메서드이다. 객체 생성시 초기화하기 위해 사용되며 오버로딩(overloading)할 수 있다.


2. 클래스명 작성 규칙

1) 하나 이상의 문자로 이루어져야 한다.
Car, SportsCar

2) 첫 번째 글자는 숫자가 올 수 없다.
3Car(x)

3) '$', '' 외의 특수 문자는 사용할 수 없다.
$car, Car, @Car(x), #Car(x)

4) 자바 키워드(예약어)는 사용할 수 없다.
int(x), for(x)

5) 단일 단어 => 첫문자는 대문자 혼합 단어 => 각 단어 첫글자는 대문자

클래스명은 대문자로 시작하는 것이 관레



객체 선언과 생성


1. 객체 생성

클래스명 참조 변수명 = new 생성자();
예) A a = new A();

객체는 new 키워드로 생성할 수 있다.

  • 참조 변수는 실제 데이터를 저장하는 것이 아니라, 실제 데이터가 있는 힙 메모리의 위칫값을 가리킨다.
  • new 키워드는 '~을 힙 메모리에 넣어라.' 는 의미이다.
  • 생성자는 클래스와 이름이 동일하며, 뒤에 소괄호가 붙어 있다. 이 생성자가 실행되면 클래스의 객체가 생성된다.
  • new는 생성자의 결과물로 나온 객체를 힙 메모리에 넣는다.
  • 참조 변수를 통해 멤버변수(필드) 및 멤버함수(메서드)에 접근하여 사용할 수 있다.(힙 메모리에 저장된 실제 객체의 위칫값이 참조 변수에 저장되어 있기 때문)
  • 즉, 객체 생성 예시 코드(A a = new A())는 'A() 생성자로 만든 객체를 힙 메모리에 넣고, 위칫값을 A 타입의 참조 변수 a에 저장하라'로 표현할 수 있다.

2. 객체 활용

객체를 활용한다는 것은 객체 내부의 멤버를 사용한다는 의미이다. 자바에서는 힙 메모리에 직접 접근할 수 있는 방법이 없으며, 위치 정보를 포함하고 있는 참조 변수를 이용해서만 객체에 접근할 수 있다. 이때, 포인트 연산자(.)를 사용한다.

예) 필드를 사용한다 = 필드에 값을 넣거나 읽어온다
예) 메서드를 사용한다 = 해당 메서드를 호출한다

포인트 연산자(.)의 의미
: '해당 위치에 있는 객체 안을 보라.'

참조 변수명.필드명
참조 변수명.메서드명()
A a = new A();
System.out.println(a.m); //필드 활용
a.print(); //메서드 활용

🔑 클래스의 생성자로 객체를 만드는 과정을 '인스턴스화(instantiation)' 라고 하고, 인스턴스화로 만들어진 객체를 '인스턴스(instance)' 라고 한다. 클래스는 바로 사용할 수 없으며, 반드시 객체를 생성해서 객체 안에 있는 필드, 메서드 및 내부 클래스를 사용해야 한다.



🔔 Reference

<Do it! 자바 완전 정복>
https://kadosholy.tistory.com/89

0개의 댓글

관련 채용 정보