8. 클래스 자료형(Class Type)

박은서's avatar
Dec 08, 2025
8. 클래스 자료형(Class Type)

1. 클래스 자료형(Class Type)

1️⃣ 클래스 자료형이란?

  • 사용자가 정의한 구조(클래스)를 기반으로 만들어지는 자료형
  • 사용자가 직접 정의한 참조 자료형
  • 해당 클래스에서 생성된 객체들이 갖는 형태와 특성을 정의하는 틀(blueprint)
  • 클래스로 만들어진 자료형 = 객체를 생성하기 위한 사용자 정의 자료형
  • 객체(Object)를 만들기 위한 설계도이자 하나의 자료형

2️⃣ 클래스 자료형의 핵심 개념

1) 사용자 정의 자료형(User-Defined Type)

기본 자료형(int, double, boolean 등)과 달리 프로그래머가 직접 구조를 설계하여 만든 자료형

2) 변수 선언 시 자료형 역할

클래스 이름이 자료형처럼 사용됨

3) 객체 생성의 기반이 되는 틀

클래스 안에 속성(변수)과 메서드(기능)를 정의하고, 해당 클래스 자료형으로 객체를 만들면 그 속성과 기능을 사용할 수 있음.

4) 복합적인 데이터 구조를 가질 수 있음

  • 기본형을 조합
  • 다른 클래스 자료형을 포함
  • 메서드를 통해 동작 정의

3️⃣ 클래스 자료형의 예시

class Person { String name; int age; }
  • Person 👉 하나의 새로운 자료형
  • String, int 👉 멤버 변수(필드)
Person p = new Person();
📌 p의 자료형은 Person 클래스

4️⃣ 클래스 = 참조 자료형

Person p1 = new Person(); Person p2 = p1;
  • p1, p2같은 객체의 주소를 가리킴
  • 하나를 바꾸면 다른 쪽에서도 보임

5️⃣ 클래스 자료형의 메모리 구조

Person p = new Person();
  • p → Stack 영역 (참조값)
  • 실제 객체 → Heap 영역
Stack Heap p ─────────▶ Person 객체

6️⃣ 클래스 자료형의 특징

1) 여러 값 묶기

class Student { int id; String name; double score; }

2) 메서드 포함 가능

class Student { int score; void printScore() { System.out.println(score); } }

3) null 가능

Student s = null; // 가능
⚠️ 사용 시 주의
s.printScore(); // NullPointerException
 
Share article