Programming/JAVA2009.03.16 21:33

 클래스 = 구조체 + 함수

클래스를 간단하게 말하자면 저렇게도 말할수있지 않을까 한다. 클래스는 객체이고 객체지향이며 생성자, 소멸자를 포함하고 있으...... 물론 그렇지만 간단하게 얘기하자면 저렇다는 것이다.

클래스에는 구조체처럼 여러타입의 여러개의 변수를 클래스라는 범위안에 넣을수 있다. 그리고 그안에 있는 변수를 자유롭게 접근할수 있는 클래스안의 함수를 매소드(method)라고 한다.

public class Dog{
     public int age;

     public int getAge(){
          return age;
     }
}


위는 아주 간단한 클래스이다. Dog 라는 이름의 클래스이며 int형의 age라는 변수가 있으며 getAge() 라는 메소드가 포함되어있다. getAge는 단순히 age를 리턴하는 메소드이다. 

저 Dog클래스를 사용하기 위해서 다음과 같이 해야한다.
Dog abc = new Dog();

Dog abc는 Dog라는 데이터형의 abc라는 변수를 만든것 뿐이다. 이상태로는 사용할수 없다. 메모리를 생성해줘야 한다.
new Dog()는 Dog를 사용할수있는 메모리를 만들어준다. 이렇게 생성된것을 인스턴스라고 한다.

abc.age = 10;

이와 같이 해주면 age가 10으로 설정된다. 이것은 구조체와 같은 형식이다.
메소드 호출도 위와 비슷하다.

System.out.println(abc.getAge());

이렇게 하면 10 이 콘솔에 출력된다. abc안의 getAge()를 호출하는것이다. getAge()는 같은 클래스에 있는 age변수를 마음대로 사용할수가 있다.

너무 간단하게 이상한 설명만 한것 같지만 이게 알아야할 기본인것 같다. 접근제어, 생성자, 소멸자, 상속, 인터페이스등의 개념이 있지만 이건 기본이라고 보기 힘들지 않을까 -_-;

Posted by 초프 초프(초보 프로그래머)