오늘은 자바에서 싱글톤 패턴(Singleton Pattern)에 대해 학습하였다. 싱글톤 패턴이란: 싱글톤 패턴은 객체 생성을 제한하여 하나의 인스턴스만을 생성하고, 어디서든 해당 인스턴스를 공유하여 사용하는 디자인 패턴이다. 이를 통해 자원을 절약하고, 객체의 일관성을 유지하여 전역적으로 접근해야 하는 상황에서 유용하게 사용된다. 싱글톤 패턴 구현 방법: 싱글톤 패턴은 여러 가지 방법으로 구현할 수 있으나, 가장 일반적인 방법은 다음과 같다. public class Singleton { // 1. private static 멤버 변수로 자기 자신의 인스턴스를 선언한다. private static Singleton instance; // 2. private 생성자로 외부에서 객체 생성을 막는다. priv..
Java
내배캠 후발대 강의에서 OAuth2 추상 클래스와 인터페이스의 차이에 대해 배웠다. 추상 클래스 (Abstract Class): 추상 클래스는 하나 이상의 추상 메서드를 포함하는 클래스로, 추상 메서드는 메서드의 시그니처만 정의하고 구현 내용이 없는 메서드를 말한다. 또한, 추상 클래스는 구현된 메서드도 가질 수 있다. 추상 클래스를 상속받은 서브 클래스는 추상 메서드를 반드시 구현해야 한다. 예시: abstract class AbstractClass { public abstract void abstractMethod(); public void concreteMethod() { // 구현 내용 } } 인터페이스 (Interface): 인터페이스는 모든 메서드가 추상 메서드인 특별한 종류의 클래스로, 메서..
오늘은 개인 과제에 대해서 피드백받은 예외처리에 대해서 조금더 알아보는 시간을 가졌다. 예외는 프로그램 실행 중에 발생할 수 있는 오류 상황을 말한다. 이러한 오류 상황은 예상치 못한 상황으로 인해 프로그램이 비정상적으로 종료될 수 있으므로 주의해야한다. 예외 처리는 프로그램의 안정성과 오류에 대한 적절한 대응을 위해 중요하며 예외 처리를 통해 예외 상황이 발생했을 때 프로그램이 비정상적으로 종료되지 않도록 할 수 있고, 오류 상황에 대한 정보를 수집하고 로깅할 수 있다. 그럼 어떻게 해야하나? try-catch구문이 있다. try 내에서 예외가 발생할 수 있는 코드를 작성하고, catch 블록에서 예외를 처리하는 코드를 작성한다. 그리고 catch 은 예외의 종류에 따라 여러 개를 작성할 수 있다. 예..
오늘은 팀과제인 키오스크 프로그램을 개선하고 관리자 페이지를 추가하는 것에 대하여 회의를 하고 역할을 부여받았다. 난 관리자페이지에서 상품을 추가하고 리스트에 올리는 작업을 진행하였다. 우선 Main에 private static void createItem() { Scanner scanner = new Scanner(System.in); System.out.println("새로운 상품 정보를 입력해주세요."); System.out.print("메뉴: "); int menu = scanner.nextInt(); scanner.nextLine(); System.out.print("이름: "); String name = scanner.nextLine(); System.out.print("설명: "); Stri..
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Order order = new Order(); while (true) { printMainMenu(); int choice = scanner.nextInt(); if ((choice >= 1) && (choice = 1 && subChoice
오늘은 20시에 과제에 대한 큰 그림을 그리는 특강을 진행을 하였다. 그것을 활용하여 과제를 진행을 하게 될것같다. 그리고 오늘 메인메뉴에서 선택시 나오는 화면 코드를 작성하였다. public static void printSubMenu(String category) { if (category.equalsIgnoreCase("Burgers")) { String[] burgerMenu = { "ShackBurger | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거", "SmokeShack | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거", "Shroom Burger | W 9.4 | 몬스터 치즈와 체다 치즈로 속을 채운 베지테리안 버거", "Cheeseburger | W 6.9 ..
오늘은 개인과제를 진행을 하는 날이였다. 우선 자바 클래스로 Main, Order, Product 3가지로 나눠서 진행하였다. public static void printMainMenu() { System.out.println("==============================="); System.out.println("\"SHAKESHACK BURGER 에 오신걸 환영합니다.\""); System.out.println("아래 메뉴판을 보시고 메뉴를 골라 입력해주세요. \n"); System.out.println("[ SHAKESHACK MENU ]"); System.out.println("1. Burgers"); System.out.println("2. Frozen Custard"); System..
오늘부터 자바를 배우기 시작했다. 배우게 된내용은 JAVA에 대해 객체지향언어인점과 JVM, JRE, JDK같은 용어들에 대해서도 알게 되었다. JVM (Java Virtual Machine) 은 자바 가상머신이며 자바와 운영체제 사이를 중개자 역할을 해주며 운영체제의 종류를 구애받지않고 자바에서 만들어진 클래스파일을 어디서든 동작가능하게 해준다. JRE(Java Runtime Environment) 자바실행환경이며 자바를 실행하기 위한 도구이다. JDK(Java Development Kit) 자바 개발 도구의 약자로 개발자들이 사용할 만한 도구들의 모음이다. 컴파일러등이 있다. 그리고 첫번째 프로젝트를 생성해보고 System.out.println으로 컴파일하여 실행해보고 하는 학습을 해보았다. 그리고 ..