자바

    2023.10.20 TIL

    오늘 한 것 콘솔 키오스그 주문 프로그램 구현 어제에 이어서 키오스크 프로그램을 계속 구현하고있다 오늘은 필수 요구사항에 필요한 기능을 모두 구현해서 선택 요구사항 기능을 구현을 했다. 기존 구매 상품을 선택할 때, 옵션 을 추가하는 기능인데 기능을 구현하면서 문제가 조금 발생했다. 요구사항은 이렇다. 1. 상품 선택시 옵션을 추가 선택 2. 주문 시 상품 리스트를 볼 때 옵션별로 나누기. 문제사항 1. 구매 로직 기존에 구매까지의 프로세스는 이렇다 키오스크 실행 -> 각 메뉴(커피,음료,케이크) 객체 별로 상품 리스트 생성 -> 상품리스트 중 상품 선택 -> 해당 상품 주문객체에 추가(장바구니) -> 주문처리 여기서 문제는 상품을 선택하고 옵션을 추가해줄 때 발생했다. 기존에 상품은 키오스크 초기화 시..

    2023.10.16 TIL

    목차오늘 배운 것 Java 공부제네릭 (Generic)제네릭 (Generic)어느정도 자바와 친해졌다고 생각하지만 그럼에도 가끔 사용하면서 헷갈리는 것들이 있다..오늘은 그 중 하나인 제네릭에 대해 강의를 들으며 개념을 쌓아나갔다.  제네릭은 클래스, 인터페이스 그리고 메소드를 정의할 때, 타입을 파라미터로 사용할 수 있도록 해준다.=> 어떤 클래스, 인터페이스, 메서드를 이용할 때, 잘못된 타입의 데이터로 사용될 때 일어날 수 있는 문제를     컴파일 하는 시점에 확인하고 제거할 수 있게 하는 거다.  간단하게 예를 들어 Integer 리스트를 받아 해당 Element를 Long 타입으로 변환하여 리턴하는 메서드를 작성한다면 public static List convertIntToLong(List i..

    클래스의 생성자

    생성자? 인스턴스화 한 오브젝트인 class() 생성자로 인스턴스를 생성하는 명령어 class name =new class() 를 실행할 때 클래스를 접근하게 되면서 사용하게 된다. 이 때 생성자 메소드를 호출하면서 클래스는 힙 영역에 할당되고 자동으로 초기화를 시켜준다. 결국 생성자는 클래스를 힙 영역에 할당하고 초기화를 해주는 작업을 하는 메소드이다. 생성자는 보통 기본 생성자와 필드 생성자로 나뉜다. 기본 생성자 클래스가 호출될 때 가장 먼저 생성자를 확인하는데 생성자를 명시하지 않았으면 자동으로 생성되어 클래스를 초기화 작업을 수행하게 되는데 이 때 컴파일은 클래스 구성 요소들을 차례대로 읽어 초기화를 수행한다. 생성자를 명시하지않고 자동으로 호출할 경우 인스턴스에 필요한 요소들을 읽어 초기화 작..