"캡슐화"의 두 판 사이의 차이

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

2018년 7월 19일 (목) 21:17 판

캡슐화(capsule化) 또는 인캡슐레이션(encapsulation)이란 객체 지향 프로그래밍(OOP)에서 객체의 데이터와 기능을 하나로 묶고 외부에 노출되지 않도록 숨김 처리하는 것을 말한다. 변수, 메소드, 클래스에 대해 접근 제어자를 사용함으로써 캡슐화를 할 수 있다.

특징

  • 객체 제공자와 이용자를 정확하게 나누며, 데이터의 직접 접근을 제한하므로 정보 은폐, 보안 등의 장점을 가진다.
  • 메소드의 구현 방법이 바뀌거나 객체 내의 데이터가 바뀌어도 다른 객체에는 영향을 주지 않아 독립성이 보장된다.

접근 제어자

같이 보기