캡슐화_SRP

Korangii·2024년 6월 20일

Java

목록 보기
6/24
post-thumbnail
  • 캡슐화
    • 유사한 것 묶어서 관리한다.
    • SRP (메서드/클래스 한가지 종류의 작업만 핸들링해야한다.)
      자바의 패키지
      조직의 유효성

패키지 선언
다른 패키지에 있는

접근제한자
중요한 필드와 메소드가 외부로 노출되지 않도록 해 객체의 무결성을 유지하기 위해서 접근 제한자 사용

접근제한자

  • public : 외부에 노출시키겠다.제한범위가 없다. 메서드 앞에 사용
  • protected : 같은 패키지이거나, 자식 객체만 사용 가능
  • (default) : 기본값, 같은 패키지에서만 작용, 패키지가 틀리면 허용하지 않는다.
  • private : 객체 내부에서만 작용

생성자에게 접근제한을 걸겠다.
어디서 new를 사용하냐
public에서는 어디서든 new 생성 가능
default에서는 같은 패키지 내에서만 접근할 수 있다.


public | private
객체의 필드(데이터) 은닉
Getter 메서드
필드값이 객체 외부에서 사용하기에 부적절한 경우, 적절한 값으로 변환해서 리턴할 수 있는 메소드

property : getter/setter에 의해서 접근하는 정보를 부르는 말
attribute :


Singleton

  • 같은 하나의 객체를 계속 참조하는 것
  • 생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아서 외부에서 마음대로 객체를 생성하지 못하게 함
  • 대신 싱글톤 패턴이 제공하는 정적 메소드를 통해 간접적으로 객체를 얻을 수 있음.
singleton=null;

private를 얻을 수 있는 getter 메서드가 필요하다.
생성과 소멸은 시스템이 자동으로 관리한다.

한 개의 싱글톤 객체가 리턴이 된다.
컴파일 에러 : 생성자가 private 접근자일 경우, new Singleton()은 에러 발생

== : 참조가 같느냐, 같은 인스턴스를 참조하고 있느냐

profile
https://honeypeach.tistory.com/ 로 이전했습니다.

0개의 댓글