EEALL@ONCE
☕캡슐화 (Encapsulation)란 본문
728x90
**캡슐화 (Encapsulation)란?**
캡슐화는 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 이는 데이터와 해당 데이터를 다루는 메서드를 하나의 단위로 묶는 것을 의미합니다. 이렇게 함으로써 데이터에 대한 직접적인 접근을 제한하고, 외부에서 오는 오용이나 혼란을 방지할 수 있습니다.
예를 들어, 클래스 내부에 데이터와 데이터 조작을 위한 메서드를 함께 묶어놓는 것이 캡슐화의 핵심입니다. 이러한 데이터와 메서드는 private, protected, public과 같은 접근 제어자를 사용하여 외부로부터의 접근을 제한할 수 있습니다. 이를 통해 클래스 내부 구현의 일부를 감추고, 클래스를 더욱 견고하고 관리하기 쉬운 형태로 만들 수 있습니다.
아래는 자바에서 클래스 내의 캡슐화를 보여주는 간단한 예시 코드입니다.
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void celebrateBirthday() {
age++;
System.out.println(name + "이(가) 생일을 축하합니다!");
}
}
이 코드에서 `name`과 `age`는 private로 선언되어 외부에서 직접적으로 접근할 수 없습니다. 대신 `getName()`과 `getAge()` 메서드를 통해 필요한 정보에 접근할 수 있습니다. 또한 `celebrateBirthday()` 메서드를 통해 나이를 증가시키는 동작을 캡슐화하고 있습니다.
이 예시에서는 캡슐화를 통해 데이터와 해당 데이터를 다루는 메서드를 하나의 단위로 묶어 정보 은닉과 오용 방지를 달성하였습니다. 이와 같은 방식을 통해 코드의 유지 보수성과 안정성을 향상시킬 수 있습니다.
728x90
'언어💻 > 자바☕' 카테고리의 다른 글
☕`Path filePath`와 `File file = filePath.toFile() (0) | 2023.08.31 |
---|---|
☕접근 제어자 (0) | 2023.08.28 |
☕substring (0) | 2023.08.23 |
☕Optional.ofNullable(userName).orElse (0) | 2023.08.22 |
☕Java의 Map 인터페이스: entrySet (1) | 2023.08.21 |