250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 테스트코드
- 스프링컨테이너
- 다형성
- DI
- 코딩테스트
- HttpServletResponse
- JSON
- 스프링
- http 메시지 컨버터
- 프록시
- ocp
- 김영한
- 코드트리조별과제
- 싱글톤
- 서블릿
- 코드트리
- 참조변수
- html form
- 인터페이스
- equals()
- @configuration
- 티스토리챌린지
- objecterror
- fielderror
- java
- 백준
- 오블완
- 의존관계
- 추상클래스
- 오버라이딩
Archives
- Today
- Total
minOS
자바의 정석 ch7-22 캡슐화 본문
728x90
ch7-22 캡슐화와 접근 제어자
- 캡슐화
캡슐화(encapsulation)는 객체 지향 프로그래밍(OOP)에서 중요한 개념 중 하나로, 데이터와 해당 데이터를 다루는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것을 말한다. 이를 통해 객체의 내부 구현을 숨기고, 객체 간의 상호 작용을 보다 안전하게 만들 수 있다.
- 접근 제어자 사용
접근 제어자(access modifier)는 캡슐화를 구현하는 데 사용되는 도구 중 하나로, 클래스의 멤버(변수, 메서드 등)에 대한 접근 권한을 제어하는 역할을 한다. 접근 제어자를 사용하여 클래스의 멤버에 대한 접근을 제한함으로써, 캡슐화를 강화하고 객체의 내부 구현을 안전하게 보호할 수 있다.
Time 클래스의 각 멤버 변수와 메서드 캡슐화class Time { private int hour; // 시간을 나타내는 변수, 외부에서 직접 접근하지 못하도록 private으로 설정 private int minute; // 분을 나타내는 변수 private int second; // 초를 나타내는 변수 // 시간(hour)을 설정하는 메서드, 외부에서 유효한 범위(0~23)의 값만 설정 가능 public void setHour(int hour){ // 시간이 유효한 범위인지 확인하고, 유효하지 않으면 설정을 하지 않고 리턴 if(hour < 0 || hour > 23) { System.out.println("유효하지 않은 시간 값입니다. 시간은 0부터 23까지의 값이어야 합니다."); return; } this.hour = hour; } // 시간(hour)을 반환하는 메서드 public int getHour(){ return hour; } } public class TimeTest { public static void main(String[] args) { Time time = new Time(); // 시간을 설정하고, 설정된 값을 출력 time.setHour(10); System.out.println("현재 시간: " + time.getHour()); // 유효하지 않은 값을 설정하려고 시도하면 메시지를 출력 time.setHour(200); System.out.println("현재 시간: " + time.getHour()); } }
출력
728x90
'TIL > 남궁성의 자바의 정석' 카테고리의 다른 글
자바의 정석 ch7-24,25 참조변수의 형변환 (0) | 2023.12.16 |
---|---|
자바의 정석 ch7-23 다형성 (0) | 2023.12.13 |
자바의 정석 ch7-21 접근제어자 (0) | 2023.12.12 |
자바의 정석ch7-17~20 제어자, static, final, abstract (1) | 2023.12.10 |
자바의 정석 ch7-15, 16 import문, static import문 (0) | 2023.12.01 |