Java - Modifier Types
ความหมายของ Modifier ก็คือ คีย์เวิร์ดของภาษา Java ที่ใช้กำหนดคุณสมบัติของ Class ซึ่งในภาษา Java มีรูปแบบของ Modifier หลายแบบมากมาย ซึ่งสามารถแบ่งออกได้เป็น 2 ประเภทใหญ่ๆได้ดังนี้
1. Non-Access Modifier
Non-Access Modifier มีหน้าที่กำหนดคุณสมบัติอื่นๆที่ไม่ใช่ระดับการเข้าถึงข้อมูลของคลาสหนึ่งๆ เช่น
static ใช้เป็น Keyword สำหรับกำหนดให้ Attribute หรือ Method มีคุณสมบัติดังนี้
ถ้าเป็น Attribute จะต้องเป็น Attribute ที่ถูกสร้างขึ้นเพียงครั้งเดียวและถูกเรียกใช้บ่อยๆจากหลายๆObject
ถ้าเป็น Method จะสามารถถูกเรียกใช้ได้ตลอดเวลาที่อยู่ภายในขอบเขตของคลาส และสามารถถูกเรียกใช้จากคลาสอื่นผ่านชื่อคลาสได้โดยไม่ต้องใช้ Object
2.Access Modifier
Access Modifier คือ คีย์เวิร์ดที่ใช้แบ่งระดับการเข้าถึงข้อมูล เป็นกลไกสำหรับกำหนดระดับการเข้าใช้งานสมาชิกภายในClass เพื่อรักษาความปลอดภัยและป้องกันการดัดแปลงแก้ไขข้อมูลภายในคลาสโดยไม่ได้รับอนุญาต ซึ่งอาจเกิดขึ้นได้ขณะมีการนำคลาสดังกล่าวไปใช้ซ้ำโดยสามารถแบ่งเป็น 4 ระดับดังนี้
public มีขอบเขตการเข้าถึงได้ทุกระดับ สามารถเข้าถึงได้จากทุก Class
private มีขอบเขตการเข้าถึงเฉพาะภายใน Class เดียวกันเท่านั้น
protected มีขอบเขตการเข้าถึงเฉพาะ Class ตัวเองกับ Class แม่ที่สืบทอดมาเท่านั้น
no modifier มีขอบเขตการเข้าถึงเฉพาะภายใน Package เดียวกัน
Modifier |
Class |
Package |
Subclass |
World |
public |
Y |
Y |
Y |
Y |
protected |
Y |
Y |
Y |
N |
no modifier |
Y |
Y |
N |
N |
private |
Y |
N |
N |
N |