2022/05/30 4

싱글톤 패턴

CarClass이라는 객체가 있다. public class CarClass 어떻게 해야 Car 객체의 인스턴스가 하나만 존재하도록 할 수 있을까? private CarClass() { } // 생성자가 private면 아무도 이 객체를 생성할 수 없는데.. 그렇다면 자신을 멤버로 선언해서 메모리에 올려놓자 (static) private static CarClass car new CarClass(); // 이렇게 해도 멤버로 선언된 CarClass 역시 private이다. 외부에서 멤버로 선언된 car을 가져올 수 있는 메서드를 생성하면 된다! public static CarClass getInstance() { return car; } // 이렇게 하면 getInstance 메서드 외에는 CarClass..

Java 2022.05.30

싱글톤 패턴

싱글톤 패턴이란? 프로그램에서 인스턴스가 한 개만 생성되어야 할 때 사용하는 디자인 패턴 static 변수, 메서드 이용해 구현 싱글톤 패턴으로 회사 객체 구현하기 Company@5ca881b5 Company@5ca881b5 public class Company { // 클래스 내부에 유일한 private 인스턴스 생성 private static Company instance = new Company(); // 생성자는 private로 선언 private Company() { } // 외부에서 유일한 인스턴스를 참조할 수 있는 public 메소드 제공 public static Company getInstance() { if(instance == null) { instance = new Company();..

static 변수, static 메소드

static 변수 사원이 입사할 때마다 1씩 증가하는 사번을 주는 식 이가가님의 사번은 1001입니다. 김가가님의 사번은 1002입니다. public class Employee { // 공통 변수 public static int serialNum = 1000; private int employeeId; private String employeeName; private String department; // 값을 "각자" 가지게 한다 public Employee() { serialNum++; employeeId = serialNum; // employeeId 또한 매번 증가한다++ } public int getEmployeeId() { return employeeId; } public void setEmp..

+20 캡슐화, 패키지

p349 캡슐화 1. 변수에 private 붙이기 2. getter/setter 생성하기 캡슐화 안 한 경우 → 개인정보 유출 우려 있음 public static void main(String[] args) { // 메모리 저장 Sawon s1 = new Sawon(); s1.sabun = 1; s1.name = "김가가"; s1.dept = "개발부"; s1.job = "대리"; s1.pay = 3500; Sawon s2 = new Sawon(); s2.sabun = 2; s2.name = "김나나"; s2.dept = "마케팅"; s2.job = "과장"; s2.pay = 4000; System.out.println(s1.sabun + " " + s1.name + " " + s1.job + " " +..

수업 2022.05.30