초보 프로그램 개발자

[ 2주차 ] Java - Class 본문

교육 일지/java

[ 2주차 ] Java - Class

Ji_HG 2023. 5. 12. 18:08
Class

Class 란 회사에서 부서별로 나누어 일을 하듯 나눠준것이라고 생각하면 쉽다.

Java 클래스 파일을 만들면 파일명이 클래스명이 된다. 클래스명의 시작은 대문자로 카멜표기법을 사용한다.

public class Test1 {
// 클래스
	public static void main(String[] args) {
	
	}
}
접근지정자

 

접근 지정자 말 그대로 접근할 수 있는 대상을 지정하는 표현이다.

Class를 만들때 접근지정자를 설정할 수 있다.

  • public - 공개, 누구나 자유롭게 접근 가능
  • private - 자기 자신만(같은 패키지) 접근 가능, 다른 객체에서는 접근할 수 없다.
  • protected - 자신을 상속받은 자식클래스만 접근할 수 있다.
  • default - Class 앞에 아무것도 적지 않으면 자동으로 설정, 자기자신만 접근 가능

Class를 만드는 이유는 각 부서별로 나누어 일을 하면 일의 효율이 좋아지는 것 처럼 전문성을 가질 수 있다.

  • 관련된 method(함수)들을 모아 전문성을 띈다.
  • 유지보수, 유동성이 좋다
  • 중복되는 코드를 함수화 하여 가독성이 좋아진다.

예제)

package com.day7;

public class TestClass {
	
	int[] num;
	int temp;
    
	// 두수의 합을 구해주는 함수(method)
	public int sum(int x, int y) {
		return x + y;
	}
	// 선택정렬 함수(method)
	public int[] selectSort(int[] arr) {
		num = arr;
		for (int i = 0; i < num.length - 1; i++) {
			for (int j = i + 1; j < num.length; j++) {
				if (num[i] > num[j]) {
					temp = num[i];
					num[i] = num[j];
					num[j] = temp;
				}
			}
		}
		return num;
	}

}

이전에 만든 Class 파일에서는 main 함수 안에서 코드를 처리 했지만 Class로 사용하기 위해 main 함수를 삭제하고

그 안에  함수로 해당 일을 처리하게 해주었다.

이 Class 파일을 사용하기 위해서는 다음과 같다.

package com.day7;

public class Test6 {

	public static void main(String[] args) {
		int num[] = {3,1,2,4,6,5,7};
		
		int x = 1;
		int y = 2;
		
		// 만들어둔 TestClass 객체 생성
		TestClass tc = new TestClass();
		
		int sum = tc.sum(x, y);
		tc.selectSort(num);
		
		System.out.printf("%d + %d = %d 입니다.\n", x,y,sum);
		for(int i : num) {
			System.out.printf("[%2d]", i);
		}
	}
}

사용할 Class의 객체를 생성한뒤 만들어진 함수를 사용하면 된다.

사용 방법을 이렇지만 아직 Class는 더 많은 설명이 필요하다.

정리
- 연관되는 method(함수)들을 모아 두어 전문성을 띈다.
- 유지보수 및 가독성이 좋아진다.

- 다른 Package에서 사용할 경우 import가 필요하다.