자바에서 어떤 프로그램을 만들 때는 하나 또는 여러 개의 class들로 구성합니다. 
오늘은 자바의 클래스의 구조에 대해 정리해보자 합니다.

클래스의 구조는 멤버필드와 멤버 메소드로 나누어집니다.

멤버필드는 일반적인 프로그래밍에서 변수의 개념이라 생각하시구, 멤버 메소드는 함수의 개념이라고 생각하시면 되겠습니다.
즉 멤버필드는 명사적인 의미, 멤버 메소드는 동사적인 의미로 클래스를 구성하고 설명한다라고 말할 수 있습니다.


간단한 소스코드로 보겠습니다.


public class Student
{
	String name;
	void setName(String name)
	{
		this.name = name;
	}
	String getName()
	{
		return name;
	}
}


위에서 String name 이란 변수가 멤버필드 부분입니다. 그리고 setName(), getName() 이 멤버 메소드 부분입니다.

메소드 이름을 보면 알겠지만 setName, getName 처럼 각각 메소드의 역할을 나누어 함수처럼 사용을 합니다. 


그런데 위의 class 에서는 main 함수가 없습니다. 자바에서는 메인함수부터 프로그램 프로시저가 실행이 되는데 main함수가 없으면 실행이 안될 것입니다. 

클래스는 main함수가 있는 클래스와 그렇지 않은 클래스로 구분을 할 수 있습니다. main함수가 있는 클래스를 실행클래스라고 부르고 그렇지 않은 클래스들을 helper클래스라고 부릅니다.

자바에서 프로그램이 처음 시작할 때 메인함수로 가기 때문에 실행클래스는 꼭 하나여야합니다. 하지만 헬퍼클래스는 여러개여도 상관이 없습니다.

헬퍼클래스는 helper class, 말그대로 도움을 주는 클래스이기 때문입니다. 

그렇다면 위의 소스코드는 메인함수가 없기 때문에 헬퍼클래스라 부를 수 있습니다. 그러면 이번에는 실행클래스의 예를 보겠습니다.


class TestStudent
{
	public static void main(String[] args)
	{
		Student st;
		st = new Student();
		st.name = "홍길동";
		System.out.println(st.name + "입니다. 반갑습니다.");
	}
} 


대개 실행클래스는 위처럼 메인함수 하나만 있거나 간략하게 멤버필드들과 멤버 메소드들이 선언이 됩니다.

그리고 Student st; 이부분을 보면 Student라는 클래스의 객체를 선언하여 사용하는 것을 볼 수 있습니다.

st.name 처럼 사용을 하는데 여기서 name은 물론 Student 클래스의 name부분이구요 st라는 이름으로 선언된 객체에서의 name이 됩니다.


이클립스에서 한 패키지 안에서 위처럼 두 개 이상의 클래스를 만들어서 실행을 하면(이 때 실행클래스, 즉 메인 메소드를 담고 있는 것이 꼭 하나 있어야합니다) 제대로 결과가 나오는 것을 볼 수있습니다.


위의 두 개의 소스코드를 실행하면 다음처럼 나온 다는 것을 알 수 있습니다 

"홍길동입니다. 반갑습니다."


출처 - http://t3ddy.tistory.com/12


'Development > Java' 카테고리의 다른 글

java - @Override  (0) 2012.11.03
java - 문자열, 숫자, 영문 배열 및 list 정렬(sort)  (0) 2012.11.02
java - File 클래스  (0) 2012.10.23
java - xml 읽고 쓰기  (1) 2012.10.22
java - java 7 새로운 기능 및 특징  (2) 2012.10.20
Posted by linuxism
,