
ComponereMethod::setProtected 메소드는 객체의 필드를 보호하기 위해 사용됩니다. 이 메소드를 호출할 때 필요한 인자는 다음과 같습니다.
- 첫 번째 인자는 객체의 필드 이름입니다. 예를 들어, `setProtected("name")`으로 객체의 `name` 필드를 보호할 수 있습니다.
- 두 번째 인자는 보호할 필드의 접근 권한입니다. 예를 들어, `setProtected("name", "private")`으로 객체의 `name` 필드를 private 접근 권한으로 보호할 수 있습니다.
이 메소드가 호출된 후 객체의 필드가 실제로 보호되는지 확인하는 방법은 다음과 같습니다.
- 객체의 필드를 접근하려고 하면, protected 필드의 경우 접근이 제한됩니다. 예를 들어, `obj.name`으로 protected 필드 `name`을 접근하려고 하면, 오류가 발생합니다.
- protected 필드를 접근하기 위해서는 protected 메소드를 호출해야 합니다. 예를 들어, `obj.protectedGetName()`으로 protected 필드 `name`을 접근할 수 있습니다.
예를 들어, 다음 코드는 `name` 필드를 private 접근 권한으로 보호하고, `getName` 메소드를 통해서만 접근할 수 있도록 합니다.
#hostingforum.kr
java
public class Person {
private String name;
public void setProtected(String field, String access) {
// protected 필드와 메소드를 설정하는 코드
}
public void setProtected(String field) {
setProtected(field, "private");
}
public String getName() {
return name;
}
}
#hostingforum.kr
java
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setProtected("name");
// 오류가 발생합니다.
// System.out.println(person.name);
// protected 필드를 접근할 수 있습니다.
System.out.println(person.getName());
}
}
2025-04-02 00:25