본문 바로가기

PROGRAMMING/JAVA

2. 클래스

1. 클래스와 객체의 개념

: 클래스는 건축에서의 설계도와 같으며, 객체(object)란 설계도를 통해 지어진 집의 의미와 일맥상통함.


1) 클래스(Class) : 특정 종류의 모든 객체들의 원형.

2) 객체(Object) : 클래스를 통해 생성된 대상을 의미.

재 사용 가능하도록 클래스를 설계하는 것이 매우 중요!★


2. 클래스

1) 클래스의 구조

[클래스명]                       * 클래스명은 왜 대문자일까???

class Test(){                       암묵적 Rule임. 변수명은 소문자로 시작, 클래스명은 대문자로 시작.

[멤버 변수]

     public int a = 0;

     private char b = 'c';

[생성자]

     public Test(){

     }

[메소드]

     public void plus(int a, int b){

        System.out.println(a+b);

     }

}


3. Object 생성 및 생성자의 개념

1) Object 생성방법 : new 연산자를 통해서 생성한다.

Class명 (변수명) = new (생성자명);

                            ~ 생성자를 참고하여 새로운 객체를 만들어라.

* new : 클래스를 통해 객체를 생성할 때 쓰는 연산자.


2) 생성자 : 메모리 내에 객체가 생성될 때 자동적으로 단 한 번 호출되어 객체의 구조를 인식하고, 생성되는 객체의 멤버변수들을 초기화하는데 목적을 둔 것을 말함.

특징 ) returnType이 정의되어 있지 않다.

         생성자명은 클래스명과 같아야 한다.


4. 오버로딩

1) 오버로딩 

: 하나의 클래스 내에 인수의 개수나 형이 다른 동일한 이름의 메소드를 여러 개 정의하는 것.

* 오버로딩은 하는 것일까?

: 같은 기능을 하는 것들이기에 같은 이름을 써주는 것이 통일감을 주고, 복잡성/혼돈을 줄이기 위해 사용함.


public void plus(int a, int b){

System.out.println(a+b);}                       * plus 메소드는 같은 이름이지만 파라미터로 

public void plus(int a, int b, int c){                 서로 다른 역할을 한다.

System.out.println(a+b+c);}


2) 생성자에서 오버로딩을 사용하여 초기값 셋팅을 다양하게 할 수 있음.

public class Mp3{

public String color = "";

public int price = 0;

public Mp3(){}


public Mp3(String param1, String param2){

this.color = param1;

this.price = param2;

}

public static void main(String args[]){

Mp3 mp3_1 = new Mp3();

Mp3 mp3_2 = new Mp3("red",10000);

}

}


5. this & this()

1) this : 특정 객체 내에서 현재 객체 자신을 의미하는 참조 변수.

* 메인 메소드에서는 this를 쓸 수 없다. 왜 그럴까?

: 메인 메소드는 메소드에는 속하지만 클래스에 속하지 않는 메소드이다. 단순 시작 역할.

  따라서 객체 생성을 통해 변수를 호출해야 함.


2) this() : 현재 객체 내의 생성자를 의미. 생성자 간 이동을 하기 위해 쓰여진다.

              반드시 생성자의 첫 행에 정의해야 함.


올바른 작성                                   올바르지 못한 작성

public ThisConstr(){                        public ThisConstr(){

this(" ");                                        int a = 10;

}                                                         this(" ");

     }

6. Main Method

1) 프로그램이 실행할 때 최초로 호출되는 메소드. 하나의 클래스에 한 개만 기술할 수 있음.

2) 파라미터를 이용하여 실행 시  Arguments를 입력받을 수 있다.


* 메인메소드는 public static void main(String args[]) 로 시작된다.

여기서 args[]는 String 배열을 뜻한다. 단순 이름이기 때문에 꼭 args가 아니어도 된다.


만약 자바를 실행할 때...

C:> javac Test.java               를 입력해 컴파일을 해주고

C:> java Test red color blue   를 해준다.


그럼 args의 배열 길이는 3이 나오며, args[0] = red, args[1] = color, args[2] = blue 임.

'PROGRAMMING > JAVA' 카테고리의 다른 글

4. 상속(inheritance)  (0) 2013.02.25
3. 배열(Array)  (0) 2013.02.25
1. JAVA 기초  (2) 2013.02.20
eclipse 자바독 API 만들기  (126) 2012.12.21
JavaDoc을 쓰기 위한 주석달기 방법  (1) 2012.11.29