[그린컴퓨터] Server/JAVA(객체 지향 프로그래밍)

클래스 살펴보기 {클래스 속성을 구현하는 멤버 변수, 클래스 기능을 구현하는 메서드, 패키지란?}

Ben의 프로그램 2023. 5. 15. 22:27
728x90

클래스 속성을 구현하는 멤버 변수

  • 클래스 내부에 선언하여 객체 속성을 나타내는 변수가 멤버 변수입니다. (member variable)
  • 클래스에 선언하는 멤버 변수는 다른 말로 속성(property), 특성(attribute) 등으로 표현하기도 합니다. 
  • 멤버 변수는 속성이 무엇이냐에 따라 알맞은 자료형을 선언해 주어야 합니다. 
  • 예를 들어, 학번 속성에는 int studentID 로 Int 자료형과 studentID 변수이름으로 선언해주는 것처럼 말이죠. 
  • 기본 자료형(primitive data type) 으로 선언할 수도 있고, 클래스형(객체 자료형 혹은 찹조 자료형) 으로 선언할 수도 있습니다. 

클래스 기능을 구현하는 메서드

  • 지금까지 클래스를 선언하고 클래스 속성인 멤버 변수를 선언했습니다. 
  • 클래스에서는 객체가 가지는 속성을 사용해 기능을 구현할 수 있습니다. 
  • 이렇게 클래스 내부에서 멤버 변수를 사용하여 클래스 기능을 구현한 것을 '멤버 함수 member function' 도는 '메서드 method' 라고 합니다. 
  • 메서드 예제를 한번 살펴보겠습니다.
public class Ex11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
	}
	
	public void showStudentInfo() {
		int studentID;
		String studentName;
		int grande;
		String address;
		
		System.out.println(studentName + "," + address);
	}
}
  • 위 코드에서 Ex11 이라는 class 안에 showStudentInfo( ) 라는 메서드를 추가했습니다. 이 메서드는 학생 이름과 주소를 출력하는 기능입니다. 
  • 메서드에 대해서는 이후에 자세하게 다루겠습니다.

패키지란?

  • 패키지는 간단히 말하면 클래스 파일의 묶음입니다. 
  • 패키지를 만들면 프로젝트 하위에 물리적으로 디렉터리가 생성됩니다. 
  • 패키지는 계층 구조를 가질 수 있습니다. (프로젝트를 수행할 때 패키지의 계층 구조를 구성하는 것은 전체 프로젝트의 소스 코드를 어떻게 관리할지와 관련이 있습니다)
  • 그런데, 패키지가 단순히 클래스 묶음이 아닌 프로젝트 전체 소스 코드를 구성하는 계층 구조가 되고, 이 계층 구조를 잘 구성해야 소스 코드 관리와 유지 보수가 편리합니다. 
package exercise.student.view;

public class Ex11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
	}
	
	public void showStudentInfo() {
		int studentID;
		String studentName;
		int grande;
		String address;
		
		System.out.println(studentName + "," + address);
	}
}
  • 패키지의 선언은 맨 위에서 합니다.
  • 클래스 이름은 Ex11 이지만, 클래스의 전체 이름(class full name)은 domain.student.view.Ex11 입니다. 
  • 클래스 이름이 같다고 해도 패키지 이름이 다르면 클래스 전체 이름이 다른 것이므로 다른 클래스가 됩니다.