NOW OR NEVER

[JAVA] 오버라이딩과 접근제한자 & 캡슐화 본문

Back-End/JAVA

[JAVA] 오버라이딩과 접근제한자 & 캡슐화

LAURA 2023. 5. 3. 09:12
반응형

overriding

  • 자식에 부모클래스 안 동일한 메소드 만들 시 자기 자신을 우선하기에 자식 메소드가 호출됨

접근제한자

  • 접근에 대해 제한을 두는 것
  • 데이터 무결성 : 데이터에 결함이 없다. 개발자는 이에 대한 문제를 항상 걱정해야 한다.
    • 데이터 무결성 확고하게 할 수 있는 방법 : 객체에 저장하는 값에 결함이 있으면 객체에 저장조차 하지 않게 만들면 된다.
    • 접근제한자가 있는 이유는 데이터 무결성을 위함이다.
  • 변수는 직접 접근을 다 차단 그 변수의 값을 저장하거나 가져오는 메소드를 제공하는 방식으로 접근을 허한다.
  • public : 패키지가 달라도 무조건 접근 가능
  • protected : 패키지가 다르면 접근 불가, 패키지가 같거나 상속 관계일 경우 사용 가능
  • default : 패키지가 다르면 아예 접근 불가, 같은 패키지 내부에서만 사용 가능
  • private : 어느 경로로든 접근 불가
  • 패키지가 같다/다르다 : 개인 혼자 만들었거나 신뢰할 수 있는 사람들끼리 사용하려고 만든 것이다와 의미가 같다. 패키지 단위로 배포되는데 그 안에 클래스파일만 있는 데 원칙적으로 수정이 불가능하기에 패키지가 다르다라는 의미는 다른 사람이 만든 걸 내가 쓰겠다
  • private 제외한 나머지는 사용하는 데 아무 문제 없음

캡슐화

  • 클래스 내부 안의 변수들은 다 private를 주고 이 변수들 중 접근이 가능하게 할 것만 메서드 제공하여 해당 메서드로 접근하도록 하는 방법

'Back-End > JAVA' 카테고리의 다른 글

[JAVA] Thread & 예외 처리 & 클래스 & 컬렉션  (0) 2023.07.26
[JAVA] Class와 InterFace  (0) 2023.05.04
[JAVA] 상속과 다형성  (0) 2023.05.02
[JAVA] 자바 클래스 & 메서드  (0) 2023.04.28
[JAVA] 제어 문  (0) 2023.04.28
Comments