JAVA Programming

디자인패턴 – 객체지향 설계할 때 유지보수 하기 위한 23가지 패턴을 소개한 방법이 있다. 객체지향 언어이면 다 사용할수있게끔 되어있다 그중에 싱글톤패턴이 있다. 이미 구현된걸 가져다 쓸 때 new 해서 쓰지않고 어떤 인스턴스를 쓸 때 이해하면 좋다. 단하나만 존재하는 인스턴스 – singleton pattern 생성자로 private 으로 static 으로 유일한 객체 생성 외부에서 유일한 객체를 참조할수 있는 Public static get() 메소드를 구현한다. - Private + public Private를 가져오게 public를 만들어서 get 해서 가져올수있게 한다. package staticex; public class Company { private static Company instan..
Static 변수 멤버변수 = 인스턴스 변수가 있으면 여러 인스턴스가 하나의 값을 공유할 필요가 있다. 공유메모리가 필요할 때 프로그램 전체에서 접근해서 쓸수있다. Class 에서는 외부에서 변수를 두고 쓸수없고 클래스안에 들어갈수있다 그중 static 변수는 여러 인스턴스가 그 값을 공유할수있다. Static 변수는 데이터영역(static영역) 메모리에 잡히게 된다. ( 힙메모리가 아니다 ) 각각 인스턴스들이 가리키는 변수값은 하나의 메모리 동일하다. 단 한번만 메모리에 잡히고 모든 인스턴스가 공유한다. 인스턴스의 생성과 상관없이 사용할수 있으므로 클래스 이름으로 참조한다. Student.serialNum = 100; 클래스변수 , 정적 변수 라고 한다 지역안에서 선언된 참조변수는 스택메모리에 잡히게 ..
Menu package comperation3; public class Menu { // 각각의 메뉴들의 가격들을 상수로 정의 public static int STARAMERICANO = 4000; public static int STARLATTE = 4100; public static final int CONGAMERICANO = 4300; public static final int CONGLATEE = 4200; } StarCaffee package comperation3; public class StarCaffee { int money; public String brewing(int money) { // if문 각각 지불한 가격에 맞게 출력 this.money += money; // 가게 수입 증가..
package calendar2; // 정보은닉 - 날짜의 유효성을 검증하는 프로그램 구현 import java.util.Calendar; public class MyDate { private int day; private int month; private int year; private boolean isValid = true; public MyDate(int day , int month , int year) { setMonth(month); setDay(day); setYear(year); } public int getDay() { return day; } public void setDay(int day) { switch(month) { case 1: case 3: case 5: case 8: cas..