본문 바로가기

개발/Java64

[1주차] Java 중급 - static 응용 - 싱글톤 패턴(singleton pattern) 싱글톤 패턴이란? 프로그램에서 인스턴스가 단 한개만 생성되어야 하는 경우 사용하는 디자인 패턴 static 변수, 메서드를 활용하여 구현할 수 있음 싱글톤 패턴으로 회사 객체 구현하기 생성자는 private으로 선언 private Company() {} 클래스 내부에 유일한 private 인스턴스 생성 private static Company instance = new Company(); 외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공 public static Company getInstance() { if(instance == null){ instance = new Company(); } return instance; } CompanyTest.java public class Comp.. 2023. 6. 24.
[1주차] Java 중급 - static 메서드의 구현과 활용, 변수의 유효 범위 static 메서드 만들기 - serialNum 변수를 private으로 선언하고 getter/setter 구현 Employee.java package ch16; public class Employee { private static int serialNum = 1000; private int employeeId; private String employeeName; private String department; public Employee() { serialNum++; employeeId = serialNum; } public static int getSerialNum() { return serialNum; } public int getEmployeeId() { return employeeId; } pu.. 2023. 6. 24.
[1주차] Java 중급 - 여러 인스턴스에서 공통으로 사용하는 변수를 선언하자 - static 변수 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우 학생마다 새로운 학번 생성 카드 회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여 회사에 사원이 입사할 때마다 새로운 사번이 필요함 static 변수 선언과 사용하기 static int serialNum; 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스 변수, 정적 변수라고도 함(vs. 인스턴스 변수) 인스턴스 생성과 상관 없이 사용가능하므로 클래스 이름으로 직접 참조 Student.serialNum = 100; Static 변수 테스트하기 Employee.java package ch16; public class Employee { public stati.. 2023. 6. 24.
[1주차] Java 중급 - 복습해봅시다(객체 협력) 다음과 같은 상황을 구현해 봅시다. 앞의 예제에서 Edward는 지각을 해서 택시를 타야 했습니다. 20000원을 가지고 있었는데 10000원을 택시비로 사용했습니다. 택시는 '잘나간다 운수' 회사 택시를 탔습니다. Edward → Person 객체 속성 : 이름, 돈 택시 → Taxi 객체 속성 : 택시 회사, 수입 Person.java package ch15; public class Person { public String Name; public int money; public Person(String Name, int money) { this.Name = Name; this.money = money; } public void takeTaxi(Taxi taxi) { taxi.take(10000); t.. 2023. 6. 24.