본문 바로가기

java

(18)
Getter와 Setter 메소드 1. Setter 일반적으로 객체지향 프로그래밍에서는 객체의 필드를 객체 외부에서 접근하지 못하도록 막습니다. 그 이유는 외부에서 마음대로 필드를 변경할 경우 객체의 무결성이 손상되기 때문입니다. 이러한 문제점을 해결하기 위해 객체 지향 프로그래밍에서는 메소드를 통해 필드를 변경하는 방법을 선호합니다. 필드는 외부에서 접근할 수 없도록 막고 메소드는 공개해서 외부에서 메소드를 통해 필드에 접근하도록 유도합니다. 그 이유는 메소드는 매개값을 검증해서 유효한 값만 객체의 필드로 저장할 수 있기 때문입니다. 이러한 역할을 하는 메소드가 Setter입니다. 2. Getter 외부에서 객체의 데이터를 읽을 때도 메소드를 사용하는 것이 좋습니다. 필드 값을 가공하여 사용해야 하는 경우가 많기 때문입니다. 이런 경우..
싱글톤(singleton)이란? 프로그램 전체에서 단 하나의 객체만 만들도록 보장해야 하는 경우, 단 하나만 생성되는 객체를 싱글톤이라고 합니다. 싱글톤은 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 하므로 앞에 private 접근 제한자를 붙여줍니다. 그리고 자신의 타입인 정적 필드를 하나 선언하고 자신의 객체를 생성해 초기화 합니다. 정적 필드에도 private 접근 제한자를 붙여서 외부에서 필드값을 변경하지 못하도록 막습니다. 대신 외부에서 호출할 수 있는 정적 메소드인 getInstance()를 선언하고 정적 필드에서 참조하고 있는 자신의 객체를 리턴해 줍니다. 싱글톤 객체 코드 이를 통해 메인 메소드에서 getInstance()를 통해 객체를 생성하면, 모두 싱글톤 객체 안에서 이미 만들어진 하나의 객체만을 가리..