Инкапсуляция:
Инкапсуляция дегеніміз –деректер мен осы деректерді манипуляцилайтын программаны біріктіріп, деректерді сырттан оларға тікелей қатынаудан және дұрыс қолданбаудан сақтайтын қағида. Кластың деректеріне тек осы кластығы әдістері арқылы ғана қатынауға болады. Басқаша айтқанда, бұл қағида класты өзінің ішіндегілермен (деректер және әдістері) капсула ретінде қарастырып (инкапсуляция – «капсула ішіне салынған»), капсуланың ішіндегілерге сырттан қатынауға шектеу қойылатынын дәне ішіндегілерге мұндай шектеудің болмауын білдіреді.
Сонымен, инкапсуляция, екі мақсатты көздейді:
Біріншісі –модульді қолданудың қауіпсіздігін қамтамасыз ету, бастапқы деректерді бүлдірмейтін немесе жоя алмайтын әдістерді ғана ортақ қолжетімді етіп, оны интерфейске шығару;
Екіншісі –деректердің өнделуінің жүзеге асуының көрсетуге қажет емес детальдың сырт көзден жасырып, күрделілікті азайту.
Осылай болса, инкапсуляция дегеніміз деректер және осы деректермен жұмыс істеуге, басқа да әрекеттер жасауға мүмкіндік беретін ішкі программалар сиппаталған класс-типтерді қолдану болып табылады.
Кластардың ішіне енгізілген (инкапсуляцияланған) мұндай ішкі программаларды әдістер деп атайды.
Кластың ішінде де кластар болуы мүмкін, сондықтан да кластың ішінде кірістірілген кластар мен кірістірілген интерфейстер болады. Класс ішіндегі берілген бірінші деңгейдегі деректер өрісі, әдістер және кірістірілген кластар класс мүшелері деп аталады.
Инкапсуляцияны қолдану жағын айтып кетсек, онда белгілі ақпартқа қол жеткізудің бірнеше жолы бар, оның ең негізгілері бұл:
Қол жетімділік модификаторлары арқылы (Access modifiers)
Геттер мен Сеттер арқылы (Getters and Setters
Қол жетімділік модификаторлары-бұл белгілі бір ақпарат көзіне кімге болатының кімге болмайтының көрсетеді.
Қолжетімділік модификаторларын 4 түрі бар. Олар:
public – барық жерге қолжетімді функция;
default –қол жетімді модификатор жазылмаған кезде әдіпкі бойынша пайда болып, деректер package ішіне дейін көрінеді;
Protected – класс пен оның барлық мұрагерлерінің ішінде қол жетімді болады;
Private –класс ішінде ғана көруге мүмкіндік беретін функция;
Қолжетімділік модификаторлары әр дайымда объект, әдіс не класстардың алдында жазылып отырады. Мысалған
public classMain {