|
test.java
1 2 3 4 5 6 7 | public class test { public static void main(String[] args) { System.out.println(" 안녕하세요"); } } |
이 파일을 컴파일하면 .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 |
class Calculator2 { static double PI = 3.14; // 클래스 변수인 base가 추가되었다. static int base = 0; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { // 더하기에 base의 값을 포함시킨다. System.out.println(this.left + this.right + base); } public void avg() { // 평균치에 base의 값을 포함시킨다. System.out.println((this.left + this.right + base) / 2); } } public class CalculatorDemo2 { public static void main(String[] args) { Calculator2 c1 = new Calculator2(); c1.setOprands(10, 20); // 30 출력 c1.sum(); Calculator2 c2 = new Calculator2(); c2.setOprands(20, 40); // 60 출력 c2.sum(); // 클래스 변수 base의 값을 10으로 지정했다. Calculator2.base = 10; // 40 출력 c1.sum(); // 70 출력 c2.sum(); } } |
결과는 아래와 같다.
30
60
40
70
class Calculator2 {
static double PI = 3.14;
// 클래스 변수인 base가 추가되었다.
static int base = 0;
int left, right;
public void setOprands(int left, int right) {
this.left = left;
this.right = right;
}
public void sum() {
// 더하기에 base의 값을 포함시킨다.
System.out.println(this.left + this.right + base);
}
public void avg() {
// 평균치에 base의 값을 포함시킨다.
System.out.println((this.left + this.right + base) / 2);
}
}
그리고 아래의 부분이 클래스를 이용하여 인스턴스를 찍어내는 것을 볼 수 있다
Calculator2 c1 = new Calculator2();
Calculator2 c2 = new Calculator2();
'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글
자바의 기초 - FQCN, JAR (0) | 2013.08.08 |
---|---|
자바의 기초 - 인터페이스 (0) | 2013.08.08 |
변수의 구분 (0) | 2013.08.08 |
자바 메소드(함수) 이해하기 (0) | 2013.07.31 |
자바 변수이해하기 (3) | 2013.07.31 |