티스토리 뷰

[java 12강] java 클래스와 객체 (class, object)



이번 12강에서는 java의 핵심인 클래스와 객체에 대해서 알아보겠습니다.


클래스와 객체... 처음 java 를 입문하시는분들은 정말 어려운 주제입니다.


또한 책마다 설명도 모두다 다르게 설명하지요....


그이유는 설명하기가 어렵습니다..... 저또한 책을많이보고 많이 검색도해보며 많이 사용해보니 아! 하고 득도한 타입 입니다.


그래서 제가 알고 있는 지식을 쉽게 설명해 보겠습니다.


java 입문서적에서는 대부분 class 는 설계도, object 는 사물또는 개념이라고 합니다.


저또한 같은생각입니다.


그럼 쉽게 설명해보겠습니다.


우선 대부분의 개발자는 IT에 관심이 많기 때문에 IT 기기인 노트북으로 설명해보도록 하겠습니다.


노트북은 모두다 디자인이 다르고, 성능또한 다릅니다.


하지만 노트북의 모델이 정해지면 똑같은 성능으로 계속 만들지요...


그러면 노트북을 생산할수 있는 공장이 필요하겠죠?


바로 공장이 class 라고 생각하시면 됩니다.


그리고 그공장에서 나온 노트북은 객체라고 생각하시면 됩니다...


그럼 예를 들어보죠.


노트북을 만들려는 성능입니다. (핵심 부품만으로 하겠습니다 ^^)


cpu : i5

ram : 16

vga :  gtx 950


이렇게 부품이 있다면 이것을 공장에 넣어서 만들면 노트북이 완성되겠죠?


그러면 이제 코드로 위의 부품이 3만 넣으면 노트북이 만들어진다고 가정하고 class 를만들어 보겠습니다.


우선 새로운 ~.java 파일을 생성합니다.


저는 클래스의 이름을  NetBook.java 로 만들었습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* * @author 국브 */
public class NetBook {
    String cpu;             //cpu 사양을 담을 변수
    int ram;                  //ram 사양을 담을 변수
    String vga;                //vga 사양을 담을 변수
    
 
    //NetBook 변수들에게 값을 넣어줄 메소드
    public void SetSpecification(String a, int b, String c) {
        cpu = a;
        ram = b;
        vga = c;
    }
    
    //NetBook 변수들에게 넣어준 값을 콘솔에 출력해줄 메소드
    public void NetBookSpecification() {
        System.out.println("CPU:"+ cpu + " ram:" + ram + " vga:" + vga);
    }
}



이렇게 class 를 만들었습니다.


이렇게 만들어 놓으면 계속해서 사용할수 있습니다.


노트북의 사양을 바꿔서 계속해서 사용할수 있는 공장이 만들어진 것입니다.


그럼 공장을 사용해 볼까요?


main 메소드가 있는 java 파일을 생성합니다.


저는 제가 항상 사용하는 hello.java 에서 NetBook.java에 만들어놓은 public class NetBook 을 사용해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
 * @author 국브
 */
public class hello {
 
    public static void main(String[] args) {
    
        NetBook MyNetBook = new NetBook(); //MyNetBook참조변수 선언후 NetBook 에 대한 객체 생성
        
        MyNetBook.SetSpecification("i5"16"gtx950"); // MyNetBook 에 SetSpecification 메소드를 사용하여 값을 넣어 준다.
        
        MyNetBook.NetBookSpecification(); // MyNetBook 에 NetBookSpecification 메소드를 사용하여 위에서 넣어준 값이 들어갔는지 확인한다.
    }
}



이렇게 입력을 한후 실행을 누르면~~~!!!



이렇게 값이 잘들어 갔는지 확인 할수 있습니다. 


그럼이제 MyNetBook 북에는 제가 원하는 사양들이 들어있는 객체가 된것입니다.


만약 다른 사양이 들어 있는 노트북을 만들고 싶다면


MyNetBook 과 같은 참조변수 선언후 NetBook 에 대한 객체 생성한후


SetSpecification 메소드를 사용하여 다른 사양을 넣어주면 되는것입니다.


위의 예제를 보시면 알겠지만...


클래스를 만들고 사용하기 위해서는 반드시 해당 클래스에 대한 객체를 생성해 주셔야 합니다.


이상으로 이번강의를 통해 클래스와 객체에 대해서 알아보았습니다.


굼굼하시거나 피드백주실분들은 댓글 부탁드림니다 ^^



'Programming > JAVA, Spring' 카테고리의 다른 글

[java 14강] java 맵(Map/HashMap)  (11) 2016.10.19
[java 13강] java 메소드 (Method)  (4) 2016.09.19
[java 11강] java 접근제한자  (0) 2016.07.13
[java 10강] java 배열(array)  (4) 2016.07.06
[java 9강] java 제네릭 이란?  (6) 2016.07.03
댓글