1. 클래스

객체를 정의해 놓은 것. 객체를 생성하는데 사용한다.

실제로 존재하는 사물인 객체를 프로토타입으로 명세화 시킨 것이 클래스이다.

 

* 구성 요소

ㄱ. 클래스 헤더  : 클래스명

클래스 선언부. class라는 예약어를 중심으로 오른쪽은 클래스명이고, 왼쪽은 접근 제한자와

클래스의 형태, 클래스의 종류를 나타냄.

ㄴ. 멤버 필드 : 변수, 상수 등의 속성

객체가 만들어질 때 해당 객체의 특징적 속성을 담게 됨.

ㄷ. 멤버 메소드 : 동작하는 메소드

메소드는 특정한 기능을 수행하는 행위를 의미함

 

 

2. 객체

실제로 존재하는 사물, 또는 실제로 존재하는 개념 등.

속성과 기능의 집합. 이 두 개를 객체의 멤버라고 부른다.

속성과 기능에 따라 용도는 천차만별로 달라질 수 있고, 정의된 클래스로 객체를 생성할 수 있다.

 

 

3. 인스턴스

객체 > 인스턴스.

클래스로부터 인스턴스를 생성하여 인스턴스화 시킨다고 말할 수 있다.

클래스 -> 인스턴스화 -> 인스턴스


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//Human 클래스
public class Human {
//  변수 선언
    String name;
    String gender;
    int age;
    
    public Human() { }
    
    public Human(String name) {
        this.name = name;
    }
    
    public Human(String name, String gender, int age) {
        this.name = name;
        this.gender = gender;
        this.age = age;
    }
    
    public void eat(String some) {
        System.out.println("console> age : " + age +
                    ", name : " + name + ", some : " + some + "을 먹는 중.");
    }
    
    public void sleep() {
        System.out.println("console> age : " + age +
                    ", name : " + name + "이가 자는 중.");
    }
}
 
//HumanMain 클래스
public class HumanMain {
    public static void main(String[] args) {
//      Human이라는 클래스 주소를 human이라는 이름의 인스턴스에 주소값을 복사하여 객체화함
        Human human = new Human();
        
        human.name = "사람1";
        human.gender = "여";
        human.age = 100;
        
        human.eat("과자");
        human.sleep();
        
        Human human1 = new Human("사람2""남"99);
        Human human2 = new Human("사람3");
        
        human1.eat("껌");
        human2.eat("커피");
    }
}
cs


+ Recent posts