Java 202

ch09 Company

package ch09; public class Company { //소속할때 싱글톤패턴같은것들을 만든다. //1.생성자를 private으로 만든다. private Company() { } //2.static 변수를 활용해서 내부에서 객체를 생성한다. private static Company instance = new Company(); //선언과 초기화를 동시에하고 위의 Company는 리턴값 //3. 외부에서 유일한 인스턴스(객체)를 참조할 수 있는 public메서드를 제공 public static Company getInstance() { if(instance == null) { instance = new Company(); } return instance; } } package ch09; impo..

Java/chapter2 2021.08.25

ch09 NumberPrinter

package ch09; public class NumberPrinter { private int id; static int waitNumber; //대기번호 //static을 사용함으로써 waitNumber의 변수를 공유 public NumberPrinter(int id) { this.id = id; waitNumber = 1; } //번호표를 찍어 주세요. public void printWaitNumber() { System.out.println(id + "기기의 대기 순번 : "+ waitNumber); waitNumber++; } } package ch09; public class MainTest1 { public static void main(String[] args) { System.out.p..

Java/chapter2 2021.08.25

Static 싱글톤 패턴

싱글톤 패턴이란? ​ ● 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 ● static 변수, 메서드를 활용하여 구현 할 수 있음 ​ ​ 싱글톤 패턴으로 회사 객체 구현하기 ​ 1. 생성자는 private으로 선언 private Company() {}; 2. 클래스 내부에 유일한 private 인스턴스(객체) 생성 private static Company instance = new Company(); 3. 외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공 public static Company getInstance() { if( instance == null) { instance = new Company(); } return instance; } ​ ​ ..

Java/정리 2021.08.25

static 메서드

static 메서드 만들기 ​ serialNum 변수를 private으로 선언하고 getter/setter 구현 ​ ​ ​ Employee.java ... private static int serialNum = 1000; ... public static int getSerialNum() { return serialNum; } public static void setSerialNum(int serialNum) { Employee.serialNum = serialNum; } ​ ​ static 메서드(클래스 메서드)에서는 인스턴스 변수를 사용할 수 없다 ​ public static void setSerialNum(int serialNum) { int i = 0; employeeName = "Lee"; //오..

Java/정리 2021.08.25

Static

공통으로 사용하는 변수가 필요한 경우 ​ ● 여러 인스턴스가 공유하는 기준 값이 필요한 경우 ● 학생마다 새로운 학번 생성 ● 카드회사에서 카드를 새로 발급할때마다 새로운 카드 번호를 부여 ● 회사에 사원이 입사할때 마다 새로운 사번이 필요한 ● 은행에서 대기표를 뽑을 경우(2대 이상) ​ ​ ​ ​ static 변수 선언과 사용하기 ​ ● 선언 방법 - static int serialNum; ● 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 ● 클래스 변수, 정적변수라고도 함 ● 인스턴스 생성과 상관 없이 사용 가능하므로 클래스 이름으로 직접 참조 ● 사용방법 - Student.serialNum = 100; ​ ​ ​ static 변수 테스트하기 ​ E..

Java/정리 2021.08.25

ch08 Person this란?

package ch08; public class Person { // this란 // 1. 인스턴스(객체) 자기 자신의 메모리를 가르킨다. // 2. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다. // 3. 자신의 주소(참조값, 주소값)을 반환 시킬 수 있다. //디자인 패턴 : 코드를 깔끔하게 String name; int age; String phoneNumber; // 1. public Person(String name, int age) { System.out.println("생성자 1번 호출"); this.name = name; this.age = age; } // 2. 기본생성자 new Person(); p.name = name;으로 만들수있다. public Person() { thi..

Java/chapter2 2021.08.25

this

this가 하는 일 ​ ● 인스턴스 자신의 메모리를 가리킴 ● 생성자에서 또 다른 생성자를 호출 할때 사용 ● 자신의 주소(참조값)을 반환 함 ​ public class Person { String name; int age; public Person() { this("이름없음", 1); } public Person(String name, int age) { this.name = name; this.age = age; } } ​ 자신의 주소를 반환하는 this public class Person { String name; int age; public Person() { this("이름없음", 1); } public Person(String name, int age) { this.name = name; th..

Java/정리 2021.08.25

ch07 Bank

package ch07; public class Bank { private int balance; //접근 제어 지시자로 핵심적인 데이터를 필요에 의해 감추는것(정보은닉) //입금 public void deposit(int money) { this.balance += money; //복합대입연산자를 써서 내돈과 다른돈을 합쳐야한다. 실수하지 말것! } //출금 public void withdraw(int money) { this.balance -= money; } //정보출력 public void showInfo() { System.out.println("현재 잔액은 :" + this.balance + "원입니다."); } } package ch07; public class BankMainTest { p..

Java/chapter2 2021.08.25