약 5분
읽기 설정
글자 크기
줄 간격
글꼴
1.6. Package와 Access Modifier
객체지향 프로그래밍에서는 프로그램을 체계적으로 구성하고 관리하는 것이 중요합니다. 이때 사용되는 개념이 바로 Package와 Access Modifier입니다. 패키지는 관련된 클래스를 그룹으로 묶어 관리할 수 있는 방법을 제공하며, 접근 제어자는 클래스와 그 멤버에 대한 접근 수단을 제한함으로써 정보를 보호하게끔 도와줍니다.
1. 패키지(Package)
패키지는 클래스를 논리적인 단위로 묶어서 관리할 수 있는 공간을 제공합니다. 예를 들어, 여러 개의 클래스가 서로 관련이 있을 때 하나의 패키지로 묶음으로써 프로그램의 가독성과 관리가 용이해집니다.
왜 패키지가 필요한가?
- 조직적 관리: 비슷한 기능을 하는 클래스를 묶음으로써 전체 코드를 관리하기 쉬워집니다.
- 이름 충돌 방지: 동일한 이름의 클래스를 여러 패키지에서 사용할 수 있어 코드의 재사용성을 높입니다.
2. 접근 제어자(Access Modifier)
접근 제어자는 클래스의 멤버(변수, 메소드)에 대한 접근을 제어합니다. Java에서 제공하는 주요 접근 제어자는 다음과 같습니다:
- public: 모든 클래스에서 접근 가능.
- protected: 같은 패키지 내의 클래스 및 서브클래스에서 접근 가능.
- default (아무 Access Modifier 없음): 같은 패키지 내에서만 접근 가능.
- private: 해당 클래스 내에서만 접근 가능.
접근 제어자가 왜 중요한가?
- 캡슐화: 객체의 상태를 보호하고 불필요한 접근을 차단하여 오류를 방지합니다.
예제
아래 코드는 패키지와 접근 제어자를 사용한 간단한 예제입니다. 먼저, 두 개의 클래스를 만들고 하나는 다른 클래스의 메소드를 호출해봅시다.
Main.java
package com.example.main;
import com.example.util.Utility;
public class Main {
public static void main(String[] args) {
Utility utility = new Utility();
utility.displayMessage(); // public 메소드 호출
}
}
Utility.java
package com.example.util;
public class Utility {
public void displayMessage() {
System.out.println("Hello, World!");
}
}
실습
- 두 개의 클래스를 생성하고 서로 다른 패키지 내에 위치시키세요.
- 각 클래스에서 접근 제어자를 사용하여 메소드를 정의하고 호출해보세요.
프로젝트
이제 여러분은 이를 바탕으로 간단한 계산기 프로그램을 만들어볼 수 있습니다. 여러 가지 기능(더하기, 빼기 등)을 각 기능별로 패키지에 나누어 구현해보세요.
정리
패키지와 접근 제어자는 객체지향 설계에서 프로그램을 더 효율적으로 관리하고 보호하는 중요한 개념입니다. 이를 통해 코드는 더욱 견고해지고 실수의 가능성을 줄일 수 있습니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.