분류 전체보기
2023.10.19 TIL
오늘 한 것 콘솔 키오스크 주문 프로그램 구현 느낀점 Java 과제로 키오스크 주문프로그램을 구현하고있다. 기능 자체는 간단해보였는데 막상 구현하니 어떤 클래스에 어떤 메소드를 만들어 구현해야할지 명확하게 결정되지가 않는다.. 예를들어 키오스크 클래스에서 장바구니에 추가할 상품을 입력받았을 때, 상품에 대한 정보를 출력해야하는데 상품객체의 필드값만 가져와 키오스크 객체에서 출력문을 만들어 보낼지. 상품객체에게 상품정보 문자열을 만들어 받을지.. 이런 경우 처럼 객체간의 역할에 대해 많은 고민이 된다. 우선 내 나름대로 구현해보고 이런 방향성에 있어서는 멘토님께 물어보아야 겠다. 혹시나 코드를 참고할 분들을 위해 github 주소를 남깁니다. 아직 구현 중이라 참고만하세요! 피드백도 환영입니다! https..
2023.10.18 TIL
오늘 배운 것 Java 쓰레드 람다 개념보기 쓰레드 쓰레드가 무엇인지 쓰레드의 상태와 제어에 관해 배우고 정리하여 포스팅하였다. https://mocha-coding.tistory.com/34 [Java] 쓰레드의 상태와 제어 쓰레드 프로세스가 할당받은 자원을 이용하는 실행의 단위 쓰레드의 생성 프로세스가 작업중인 프로그램에서 실행 요청이 들어오면 쓰레드를 만들어 명령을 처리하도록 함 쓰레드의 자원 프로 mocha-coding.tistory.com 람다 람다는 익명함수를 지칭하는 말임 익명함수란 말 그대로 이름이 없는 함수를 뜻하고, 일급 객체로 취급된다. 함수를 값으로 사용 할 수도 있으며 파라미터에 전달 하기, 변수에 대입 하기와 같은 연산들이 가능하다. 예시 // 주말의 주차장 추가 ArrayLis..
2023.10.16 TIL
목차오늘 배운 것 Java 공부제네릭 (Generic)제네릭 (Generic)어느정도 자바와 친해졌다고 생각하지만 그럼에도 가끔 사용하면서 헷갈리는 것들이 있다..오늘은 그 중 하나인 제네릭에 대해 강의를 들으며 개념을 쌓아나갔다. 제네릭은 클래스, 인터페이스 그리고 메소드를 정의할 때, 타입을 파라미터로 사용할 수 있도록 해준다.=> 어떤 클래스, 인터페이스, 메서드를 이용할 때, 잘못된 타입의 데이터로 사용될 때 일어날 수 있는 문제를 컴파일 하는 시점에 확인하고 제거할 수 있게 하는 거다. 간단하게 예를 들어 Integer 리스트를 받아 해당 Element를 Long 타입으로 변환하여 리턴하는 메서드를 작성한다면 public static List convertIntToLong(List i..
프로젝트 KPT 회고
프로젝트 팀 명 : 코딩쿠킹스 프로젝트명: 코딩쿠킹스 팀원 소개 개발 기간 : 2023.10.05 ~ 2023.10.11 프로젝트 개요: 코딩쿠킹스 팀원 소개 페이지 구현하기 요구사항: 팀원 및 프로젝트 소개 팀 계획 세우기 팀 규칙 정하기 프로젝트 역할 분담하기 와이어 프레임 작성하기 API 명세 작성하기 개발 진행에 따른 기록 작성 개발하며 정리할 내용 또는 학습한 내용 정리하기 Keep (잘 한 것) 협업 기능별로 개발 역할 분담했던 것 Git Fork, PR을 통해 코드 관리한 것 기술 Live share를 이용하면서 팀원들과 같이 css 디자인과 코드 충돌 부분을 확인하며 실시간으로 수정한 것 팀원 모두가 추가하고 싶은 부분이나 수정할 부분 모두 흔쾌히 승낙한 것 처음의 어색함을 이겨내고 점차 ..
[Spring] 어노테이션 장점과 @Autowired 이용한 DI
Spring을 사용시 다양한 어노테이션을 지원한다. 그 중 Spring을 이용한 DI를 편리하게 설정하는 어노테이션도 지원하는데 그게 바로 @Autowired 이다. 기존 DI의 결합도를 낮추기 위해 인터페이스를 호출하고 해당 구현체들의 클래스를 어떤 구분 값으로 외부 설정 파일(XML,TXT 등)을 통해 Class를 바꿔끼워주었다. setting.txt com.study.di.A1 FileinputStream fis = new FileinputStream("/com/study/di/setting.txt") String className = fis.readLine(); A a = Class.forName(className) Spring에서도 ApplicationContext 객체를 통해 외부 Xml에서 ..
[Spring] DI 지시서 작성 (Spring Bean Configuration)
생성자 DI, Setter DI 클래스간 결합 방식들 중 생성자와 setter 방식이 있다. 1. 생성자 방식 생성자 주입은 생성자의 호출 시점에 1회 호출 되는 것이 보장된다. 그렇기 때문에 주입받은 객체가 변하지 않거나, 반드시 객체의 주입이 필요한 경우에 강제하기 위해 사용할 수 있다. (Spring에서는 생성자 주입 방식을 권장, 지원함) ExamConsole 클래스에서 Exam이라는 객체를 필요로 할 때 ExamConsle 인스턴스 생성시 Exam 객체를 주입해주는 방식이다. Exam exam = new exam(); ExamConsole = new ExamConsole(exam); 2. setter 방식 ExamConsole 인스턴스 생성후 setter 메서드를 통해 exam 객체를 주입해주는..
클래스의 생성자
생성자? 인스턴스화 한 오브젝트인 class() 생성자로 인스턴스를 생성하는 명령어 class name =new class() 를 실행할 때 클래스를 접근하게 되면서 사용하게 된다. 이 때 생성자 메소드를 호출하면서 클래스는 힙 영역에 할당되고 자동으로 초기화를 시켜준다. 결국 생성자는 클래스를 힙 영역에 할당하고 초기화를 해주는 작업을 하는 메소드이다. 생성자는 보통 기본 생성자와 필드 생성자로 나뉜다. 기본 생성자 클래스가 호출될 때 가장 먼저 생성자를 확인하는데 생성자를 명시하지 않았으면 자동으로 생성되어 클래스를 초기화 작업을 수행하게 되는데 이 때 컴파일은 클래스 구성 요소들을 차례대로 읽어 초기화를 수행한다. 생성자를 명시하지않고 자동으로 호출할 경우 인스턴스에 필요한 요소들을 읽어 초기화 작..