การห่อหุ้ม (Encapsulation)
การห่อหุ้มเป็นหนึ่งในสี่แนวคิดพื้นฐานของ OOP อีกสามคือ การสืบทอด พอลิморฟิซึม และการเป็นนามธรรม
การห่อหุ้มใน Java เป็นกลไกการห่อหุ้มข้อมูล (ตัวแปร) และโค้ดที่กระทำต่อข้อมูล (เมธอด) รวมกันเป็นหน่วยเดียว ในการห่อหุ้ม ตัวแปรของคลาสจะถูกซ่อนจากคลาสอื่น และสามารถเข้าถึงได้เฉพาะผ่านเมธอดของคลาสปัจจุบันของพวกมัน ดังนั้นจึงรู้จักในอีกชื่อหนึ่งว่า Data Hiding (การซ่อนข้อมูล)
เพื่อให้ได้การห่อหุ้มใน Java:
- ประกาศตัวแปรของคลาสเป็น
private - ให้เมธอด setter และ getter แบบ
publicเพื่อแก้ไขและดูค่าตัวแปร
การเป็นนามธรรม (Abstraction)
การเป็นนามธรรมคือคุณภาพของการจัดการกับแนวคิดแทนที่จะเป็นเหตุการณ์ ตัวอย่างเช่น เมื่อคุณพิจารณากรณีของอีเมล รายละเอียดที่ซับซ้อน เช่น สิ่งที่เกิดขึ้นทันทีที่คุณส่งอีเมล โปรโตคอลที่เซิร์ฟเวอร์อีเมลของคุณใช้ ถูกซ่อนไว้จากผู้ใช้ ดังนั้น เพื่อส่งอีเมล คุณเพียงต้องพิมพ์เนื้อหา ระบุที่อยู่ผู้รับ และกดส่ง
เช่นเดียวกันในการเขียนโปรแกรมเชิงวัตถุ การเป็นนามธรรมคือกระบวนการซ่อนรายละเอียดการนำไปใช้งานจากผู้ใช้ เฉพาะฟังก์ชันการทำงานเท่านั้นที่จะถูกให้กับผู้ใช้ กล่าวอีกนัยหนึ่ง ผู้ใช้จะมีข้อมูลว่า オブเจ็กต์ ทำอะไร แทนที่จะเป็นวิธีที่มันทำ
ใน Java การเป็นนามธรรมทำได้โดยใช้ Abstract classes และ interfaces