본문

[2017.07.20] 03. 왜 클래스를 사용할까?

사용하는 이유는 '코드를 효율적으로 재활용하기 위함' 이라고 생각한다.


코드를 재활용하는 방법으로 '메소드'를 사용해도 된다.

(메소드 사용 이유 - http://heepie.tistory.com/3)


그러나 더욱 효율적으로 재활용하기 위해서는 클래스가 필요하다. 

효율적이라는 말은 추상적이다. 예를 들어 생각해보자.



PC를 포맷 후 일련의 작업(드라이버 설정, 네트워크 설정 등)하는 것은 반복되는 작업이고 메소드를 통해 문제를 해결했다. 

그러나 문제가 발생했다. PC의 종류에 따라 설치하는 프로그램이 달라질 수 있다. 

(모든 PC에 똑같은 프로그램을 설치하는 것이 가장 좋지만, 소프트웨어 라이센스 문제 등 예외 상황이 발생할 수 있다.)

이 경우, 메소드를 통해 문제를 해결할 수 없다. 클래스를 활용하면 문제를 해결할 수 있다.

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
class Pc {
    private int storage;
    private int ram;
    Pc(int storage, int ram) {
        this.storage = storage;
        this.ram = ram;
    }
    
    public void setFormat() {
        System.out.println("포맷 " + "storage: " + storage + "GB ram: " + ram + "GB");
    }
    
    public void setDriver() {
        System.out.println("드라이버 설치");
    }
    
    public void setNetwork() {
        System.out.println("네트워크 설정");
    }
    
    public void setOffice() {
        System.out.println("MS Office 설치");
    }
    
    public void setSecurity() {
        System.out.println("백신 설치");
    }
}
 
public class Main {
    public static void main(String[] args) {
        // 사무용 PC 설정 
        Pc officePC = new Pc(5128);
        officePC.setFormat();
        officePC.setDriver();
        officePC.setNetwork();
        officePC.setOffice();
        officePC.setSecurity();
 
        // 공장용 PC 설정 
        Pc factoryPC = new Pc(2564);
        factoryPC.setFormat();
        factoryPC.setDriver();
        factoryPC.setNetwork();
        
    }
}
cs



#클래스 #왜 클래스 #class

공유

댓글