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 입니다.
- 클래스 이름이 같다고 해도 패키지 이름이 다르면 클래스 전체 이름이 다른 것이므로 다른 클래스가 됩니다.
'[그린컴퓨터] Server > JAVA(객체 지향 프로그래밍)' 카테고리의 다른 글
| 참조 자료형 {참조 자료형이란, 헷갈렸던 점(전반부), 헷갈렸던 점(후반부), 추가 이해 자료} (0) | 2023.05.17 |
|---|---|
| 생성자 {생성자란, 생성자 만들기, 생성자 오버로드} (0) | 2023.05.17 |
| 클래스와 인스턴스 {main 함수, main 함수를 사용하는 두 가지 방법, new 예약어로 클래스 생성하기, 인스턴스와 참조변수, 인스턴스와 힙 메모리, 객체 지향 프로그램 관점 용어 정리} (0) | 2023.05.17 |
| 메서드 {함수란?, 함수의 입력과 반환, 함수 정의하기, 함수 호출하고 값 반환, 함수 호출과 스택메모리, 함수의 장점, 클래스 기능을 구현하는 메서드} (0) | 2023.05.16 |
| 객체 지향 프로그래밍과 클래스 {객체란, 생활 속 예시, 클래스란?} (0) | 2023.05.15 |