일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 패스트캠퍼스후기
- 데이터베이스
- DesignPattern
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 패캠챌린지
- Spring
- 국비
- 스프링
- 직장인인강
- 패스트캠퍼스
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 디자인
- 직장인자기계발
- 자바
- 자바연습문제
- javabasic
- js
- 자바예제
- 재택근무
- 리눅스
- DB
- java
- 디자인패턴
- 자바기초
- String
- java기초
- 웹
- linux
- ncs
- 자바기본
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 21일차 본문
캡슐화(encapsulation)
캡슐화는 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 은닉하는게 핵심이다.
객체에 직접적인 접근을 막고 외부에서 내부의 정보에 직접접근하거나 변경할 수 없고, 객체가 제공하는 필드와 메소드를 통해서만 접근이 가능하다.
캡슐화의 가장큰 장점은 정보은닉(Information Hiding)에 있다.
외부에서 객체접근하는데 있어서 정보를 숨기고 객체의 연산을 통해서만 접근이 가능하게 하는 것이다.
정보은닉의 장점은 외부에서 특정 객체의 데이터 및 함수를 직접 접근을 막음으로써 변경을 못하게 하고 유지보수나 확장시 오류의 범위를 최소화 할 수 있고,
객체내 정보손상, 오용을 방지하고, 조작법이 바뀌어도 사용방법 자체는 바뀌지 않고, 데이터가 변경되어도 다른 객체에 영향을 주지 않기 때문에 독립성이 좋고,
처리된 결과사용으로 이식성이 좋고, 객체를 모듈화 할 수있어 새로운 시스템의 구성에 하나의 모듈처럼 사용이 가능하다.
저번시간에 배운 접근 제어자를 다시한번 복습해보겠다.
접근제어자
캡슐화를 하기 위해서는 접근제어자를 통해 설계가 잘 이루어져야 한다.
자신 내부의 모듈은 감추고, 다른 모듈의 내부 작업도 직접적으로 개입하지 못하도록 설계해야한다.
클래스 접근 제어자
default : 동일 패키지의 클래스(class)에만 인스턴스(객체)를 생성가능하다.
public : 다른 패키지에서 인스턴스(객체)를 생성가능하다.
메소드 접근 제어자
private : 동일한 클래스 안에서만 접근이 가능하고, this를 사용하는 것들은 외부에서 접근 불가능하고, 상속도 안된다.
default : 접근제어자가 없는 형태로 동일한 패키지 안에서만 접근이 가능하다.
protected : 동일한 패키지 안에서 사용가능하고, 다른 패키지라도 상속받은 클래스에는 접근이 가능하다.
public : 모든 객체에서 접근 가능하다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 23일차 (0) | 2022.02.15 |
---|---|
패스트캠퍼스 챌린지 22일차 (0) | 2022.02.14 |
패스트캠퍼스 챌린지 20일차 (0) | 2022.02.12 |
패스트캠퍼스 챌린지 19일차 (0) | 2022.02.11 |
패스트캠퍼스 챌린지 18일차 (0) | 2022.02.10 |