본문
[2017.07.20] 03. 왜 클래스를 사용할까?
컴퓨터/질문: 개발 2017. 7. 21. 22:00
사용하는 이유는 '코드를 효율적으로 재활용하기 위함' 이라고 생각한다.
코드를 재활용하는 방법으로 '메소드'를 사용해도 된다.
(메소드 사용 이유 - 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(512, 8); officePC.setFormat(); officePC.setDriver(); officePC.setNetwork(); officePC.setOffice(); officePC.setSecurity(); // 공장용 PC 설정 Pc factoryPC = new Pc(256, 4); factoryPC.setFormat(); factoryPC.setDriver(); factoryPC.setNetwork(); } } | cs |
#클래스 #왜 클래스 #class
'컴퓨터 > 질문: 개발' 카테고리의 다른 글
[2017.08.01] 06. 왜 접근제어자를 사용할까? (0) | 2017.08.01 |
---|---|
[2017.07.30] 05. 왜 패키지를 사용할까? (0) | 2017.07.30 |
[2017.07.24] 04. 왜 생성자를 사용할까? (0) | 2017.07.24 |
[2017.07.15] 02. 왜 메소드를 사용할까? (0) | 2017.07.17 |
[2017.07.13] 01. 왜 배열을 사용할까? (0) | 2017.07.17 |
댓글