국비과정 공부내용/Java (11월24일~12월10일)

#5. 객체 지향과 클래스(Class)

CEJ_0929 2021. 12. 12. 15:14

너무나 흔한 말.. Java 는 객체지향 언어이다.

객체를 지향 한다는 것은 무엇일까?

 

※ 객체지향 언어 ※
객체는 사람이 인지할수 있는 유무형의 대상을 묶어서 코드로 표현하는 언어

 

자바 class에 대한 자료를 찾다보면 언제나 등장하는 예제 '도형' 이다.

당신은 '도형'을 그릴 수 있는가?                   '도형'은 객체가 될 수 있는가?

 

 

Java에서 지향하는 객체란 그릴 수 있는 도형 (삼각형, 사각형, 원 등..)을 의미한다.

객체화 하고자 하는 특성들의 공통 집합을 Class 라고 할 수 있겠다.

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
public class Person {
    
    //=========사람이라는 Class 생성====================
    /*
     * 사람은 지구상에 오직 1명 인가?    아니다.
     * 수 많은 사람을 객체화 하기 위해
     * 사람이라는 클래스에 사람이 갖는 기본적인 속성과 기능을 구성한다.
     * 
     * 이 클래스를 통하여 개발자는 name과 age를 속성으로 가지며
     * eat 이라는 행위를 할 수 있는
     * '사람'이라는 객체를 계속 만들어 낼 수 있게 된다.
     */
    String name;
    int age;
    
    public void eat() {
        System.out.println(age+"살 "+name+"(이)가 밥을 먹습니다.");
    }
    
    
 
 
 
    //========== 객체화 =====================
    
    public static void main(String[] args) {
        /*
         * Person 이라는 추상적인 형태를
         * 영수와 길동이라는 구체적인 객체로 객체화 한다.
         */
        
        Person 영수 = new Person();
        영수.name = "김영수";
        영수.age = 20;
        
        Person 길동 = new Person();
        길동.name = "홍길동";
        길동.age = 30;
        
        영수.eat();
        System.out.println("=============");
        길동.eat();
        
    }
    
}
cs

 

 

 

Person 하나로 2가지 객체(영수, 길동)를 생성했다!

 

 


 

JAVA를 공부함에 있어 Class, 객체화, 생성자 의 개념이 정의되어있지 않으면 이후의 과정이 무척 힘들어진다.

그러니 지금 class를 만나 지루하고 힘든 누군가가 이 글을 본다면 각성하고 class에 매달리기를 간절히 바란다!!

 

 

※ Class 기본

1) 공통요소들(속성과 기능)을 묶어 Class 생성

     속성: 변수

     기능: Method

 

 

2) main method 등에서 사용할 때 선언 및 객체화

    문법: 클래스명 객체명 = new 클래스명();

             Person   영수 = new Person();

 

 

3) 객체를 통해 클래스 내부에 있는 멤버들에 접근하여 사용한다.

   문법:    객체명.필드  -->  영수.name 

   ( . ) 마침표는 '하위연산자' 라고 불리며 '영수 안에 name' 에 접근한다는 의미로 사용된다.

 

 

4) 객체화란?

추상적인 개념을 실체화 시키는 것.
클래스로 접근하지 않고, 클래스타입의 객체를 만들어서 그 객체로 접근한다.

 


 

Class에 익숙해지고 있는 단계라면

처음부터 완전무결한 클래스를 만들기 위해 끙끙대기 보다는

일상생활의 다양한 요소들의 공통점을 뽑아내어 mini Class를 만드는 것 부터 연습하면 좋을 것 같다!

 

'국비과정 공부내용 > Java (11월24일~12월10일)' 카테고리의 다른 글

#7. 생성자와 오버로딩 (Constructor & OverLoading)  (0) 2021.12.12
#6. Method  (0) 2021.12.12
#4. 경우의 수  (0) 2021.12.12
#3. 차례합 구하기  (0) 2021.12.12
#2. Factorial 구하기  (0) 2021.12.12