1, 클래스의 배경


1) 기본형 데이터의 한계: 데이터를 한 개만 저장할 수 있다.

2) 배열의 한계: 같은 타입의 데이터를 여러 개만 저장할 수 있다.



2. 클래스


'여러 종류의 데이터'를 '여러 개 저장'할 수 있는 메모리 공간



3. 구조


# 변수, 메서드명은 '소문자'로 시작

# 클래스명은 '대문자'로 시작

# 클래스를 데이터 타입이라고 생각하면 됨 (설계도!)


# 클래스의 구성요소: 변수(특징), 메서드(기능)


class Person {

// 변수: 특징 (주로 정적인 단어)

int age;

String name;

String gender;

double height;


// 메서드: 기능 (주로 동적인 단어)

메서드();

}



4. 사용법


int        num    =    10;

int[]      arr      =    new int[3];        // arr: 참조변수, 주소값을 참조

Person  hgd    =    new Person();    // hgd: 객체, 인스턴스(instance), 주소값을 참조



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package classex;
 
class Person {
    // 추상적인 개념, 설계도, 초기화하지 않는다.
    // new 를 사용하여 선언해야지만 메모리 공간을 차지하고, 이전에는 차지하지 않는다.
    int age;
    String name;
    double height;
    long jumin;
}
 
public class ClassTest01 {
    public static void main(String[] args) {
 
        // 메모리 공간 차지!
        Person hgd = new Person();
        System.out.println(hgd);    // classex.Person@3d012ddd
        
        // 초기화 
        hgd.age = 14;
        hgd.name = "홍길동";
        hgd.height = 158.6;
        hgd.jumin = 1712261234567L;
        
        System.out.println("이름: " + hgd.name);
        System.out.println("나이: " + hgd.age);
        System.out.println("키: " + hgd.height);
        System.out.println("주민번호: " + hgd.jumin);
        
    }
}
cs