1.6. Package와 Access Modifier

약 5분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

1.6. Package와 Access Modifier

객체지향 프로그래밍에서는 프로그램을 체계적으로 구성하고 관리하는 것이 중요합니다. 이때 사용되는 개념이 바로 PackageAccess 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!");
    }
}

실습

  1. 두 개의 클래스를 생성하고 서로 다른 패키지 내에 위치시키세요.
  2. 각 클래스에서 접근 제어자를 사용하여 메소드를 정의하고 호출해보세요.

프로젝트

이제 여러분은 이를 바탕으로 간단한 계산기 프로그램을 만들어볼 수 있습니다. 여러 가지 기능(더하기, 빼기 등)을 각 기능별로 패키지에 나누어 구현해보세요.

정리

패키지와 접근 제어자는 객체지향 설계에서 프로그램을 더 효율적으로 관리하고 보호하는 중요한 개념입니다. 이를 통해 코드는 더욱 견고해지고 실수의 가능성을 줄일 수 있습니다.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.