"캡슐화"의 두 판 사이의 차이
2016081033 (토론 | 기여) |
|||
1번째 줄: | 1번째 줄: | ||
− | '''캡슐화( | + | '''캡슐화'''(capsule化) 또는 '''인캡슐레이션'''(encapsulation)이란 [[객체 지향 프로그래밍]](OOP)에서 [[객체]]의 데이터와 기능을 하나로 묶고 외부에 노출되지 않도록 숨김 처리하는 것을 말한다. [[변수]], [[메소드]], [[클래스]]에 대해 접근 제어자를 사용함으로써 캡슐화를 할 수 있다. |
− | ==특징== | + | == 특징 == |
− | [[객체]] 제공자와 이용자를 정확하게 나누며, 데이터의 직접 접근을 제한하므로 정보 은폐, | + | * [[객체]] 제공자와 이용자를 정확하게 나누며, 데이터의 직접 접근을 제한하므로 정보 은폐, 보안 등의 장점을 가진다. |
− | [[ | + | * [[메소드]]의 구현 방법이 바뀌거나 [[객체]] 내의 데이터가 바뀌어도 다른 객체에는 영향을 주지 않아 독립성이 보장된다. |
− | == | + | == 접근 제어자 == |
− | *public : 클래스 외부에서도 접근할 수 있다. | + | * [[퍼블릭]](public) : 클래스 외부에서도 접근할 수 있다. |
− | *protected : 다른 [[클래스]]에서는 접근할 수 없지만, [[상속]]받은 [[자식 클래스]]에서는 | + | * [[프로텍티드]](protected) : 다른 [[클래스]]에서는 접근할 수 없지만, [[상속]] 받은 [[자식 클래스]]에서는 접근이 가능하다. |
− | *private : [[클래스]] 내부에서만 | + | * [[프라이빗]](private) : [[클래스]] 내부에서만 접근이 가능하다. |
− | == | + | == 같이 보기 == |
− | *[[객체 지향 프로그래밍]] | + | * [[객체 지향 프로그래밍]] |
− | *[[객체]] | + | * [[객체]] |
− | *[[클래스]] | + | * [[클래스]] |
− | *[[메소드]] | + | * [[메소드]] |
− | + | ||
− | + | [[분류:프로그램]] |
2018년 7월 19일 (목) 21:17 판
캡슐화(capsule化) 또는 인캡슐레이션(encapsulation)이란 객체 지향 프로그래밍(OOP)에서 객체의 데이터와 기능을 하나로 묶고 외부에 노출되지 않도록 숨김 처리하는 것을 말한다. 변수, 메소드, 클래스에 대해 접근 제어자를 사용함으로써 캡슐화를 할 수 있다.
특징
- 객체 제공자와 이용자를 정확하게 나누며, 데이터의 직접 접근을 제한하므로 정보 은폐, 보안 등의 장점을 가진다.
- 메소드의 구현 방법이 바뀌거나 객체 내의 데이터가 바뀌어도 다른 객체에는 영향을 주지 않아 독립성이 보장된다.
접근 제어자
- 퍼블릭(public) : 클래스 외부에서도 접근할 수 있다.
- 프로텍티드(protected) : 다른 클래스에서는 접근할 수 없지만, 상속 받은 자식 클래스에서는 접근이 가능하다.
- 프라이빗(private) : 클래스 내부에서만 접근이 가능하다.