1.private :같은 클래스 내에서 접근 가능
/// 점점 프로그램 복잡해지고 배우는 수준이 높아지면 protected, default 미묘한 차이점을 나중에 적용하자~ 일단은 private public만 기억하기
2. public : 언제나 접근 가능

결과값: public void y()
public void z()
*사용하는 이유?
ex) 은행창구 - public // 은행금고- private
그럼 이 예로 위의 코드를 해석해보자
AccessDemo1 (고객)안에서 main메소드에서 a클래스 y,z,x에 엑세스 하고있음 -----> public string y,x (창구) // z(금고)
즉, 사용자가 의도하지 않은 방법으로 내부 메소드를 바꾸는 불상사가 없도록 하는 것(private)사용
===사용하도록 의도되어 있는 인터페이스들만을 사용하도록 하는 것~
혹시라도 금고에 접근해서 돈 빼가면 안되니깐~

4)세밀한제어(이런게 있구나 개념만 알아두자.. 너무 복잡해 초심자한텐 ㅠㅠ)
default -접근제어자 명시안하면 default가 됨 ex) void _default....
protected
*checker 클래스 -> 다른패키지other / 같은패키지same에 접근해보자
1. new 사용 해서 same(같은 패지키)접근 - public, protected, default 접근가능
2. checker가 same에게 상속받을 때 - > public, protected, default 접근가능
*other(다른패키지)
1. public만 접근가능 (상속관계 아닐경우)
2. otherpackagecheker가 other한테 상속받으면 -> public protected는 접근가능

1~4는 클래스 멤버에 대한 접근제어자를 설명
5. 클래스 접근 제어자 -->>public, default
*default (class앞에 아무것도 없을 경우) - 접근제어자 x 같은 패키지 내에서만 사용이 가능해서
*public은 가능하지만 다른 패지키에 import해도 사용이 안된다!!!!
DefaultClass defaultClass = new DefaultClasss();
*중요한 제약사항?!
소스코드는 public클래스의 클래스 명과 소스코드 파일명이 같아야한다 ---->하나의 퍼블릭클래스만 존재 가능하다
ex)코드 이름은 PublicNameDemo.java
public class PublicName {} -> 오류
public class PublicNameDemo {} --> 실행 가능
'JAVA > ★객체지향' 카테고리의 다른 글
final ( <-> abstract) 사용빈도 높지는 않다 (0) | 2023.03.13 |
---|---|
abstract (0) | 2023.03.13 |
API / API문서 /system.out.print 설명 (0) | 2023.03.13 |
패키지/ import/손컴파일 <-거의 안하긴함 개발도구 쓰니깐 /개념 (0) | 2023.03.13 |
클래스 패스/ 환경변수 개념 (0) | 2023.03.13 |