내일배움캠프/TIL 55

[Spring_4기 본캠프] 기본형과 참조형, final | Day 26

1. 기본형과 참조형의 메서드 호출 ▶ 자바에서 메서드의 매개변수(파라미터)는 항상 값에 의해 전달된다. 그러나 이 값이 실제 값이냐, 참조값이냐에 따라 동작이 달라진다.     ▷ 기본형 : 메서드로 기본형 데이터를 전달하면 해당 값이 복사되어 전달된다. 이 경우 메서드 내부에서 매개변수의 값을 변경해도 호출              자의 변수 값에는 영향이 없다. -> 예를 들어 a의 값을 b에 담아두면 a의 값을 바꾼다고 해서 b가 변하지 않듯      ▷ 참조형 : 메서드로 참조형 데이터를 전달하면 참조값이 복사되어 전달된다. 이 경우, 메서드 내부에서 매개변수로 전달된 객체의 멤버              변수를 변경하면 호출자의 객체도 변경된다. -> 주소값을 복사해오는 거라 둘 다 바뀜▶ 참조형..

[Spring_4기 본캠프] 3주차 - 새로운 과제 키오스크 | Day 25

1. 키오스크 만들기 계산기 만들기 과제가 어제 끝났는데 새로운 과제가 발제되었다. 저번 과제는 단계가 세분화 되어있지 않았는데 이번 과제는 꽤나 세분화 되어있었다. 계산기 만들기 때와는 다르게 구현하고싶은 것도 많고 아이디어도 계속 떠올랐다. 다만 어떻게 구현해야할 지 내가 할 수 있을 지 걱정이 되었는데 우선 튜터님이 lv1 부터 차근차근 올라가보라고 하셔서 급하게 lv1 을 구현했다. 1) LV1 프로그래밍 가이드- 입력 처리와 간단한 흐름 제어 복습- Scanner를 사용하여 여러 햄버거 메뉴를 출력- 제시된 메뉴 중 입력받은 숫자에 따라 다른 로직을 실행하는 코드  작성 - 프로그램 시작 시 주문, 주문취소, 주문내역, 홈 네 가지 선택지가 출력된다.- 사용자가 주문을 선택하면 하위 선택지에 버..

[Spring_4기 본캠프] 3주차 - 계산기 lv2와 트러블 슈팅 | Day 24

1. 가짜코드와 진짜코드계산기 lv3 을 구현하기 전에, 내가 lv1과 lv2 를 완벽하게 이해하고 모든 코드를 손으로 직접 작정할 수 있는 지가 먼저 확인되어야 했다.아무래도 구글검색이나 챗GPT에 물어보면서 이것저것 코드를 짜깁기 한 것이라서 사실 내 손으로 손수 작성한 '진짜'코드라고 보긴 어려웠다. 그래서 작성해놨던 모든 코드를 지우고 처음부터 다시 시작하기로 했다. 과제 제출 하루 전에 하기에는 위험했지만.. 위기를 알면서도 그냥 있으면 그게 진짜 위기다 라는 어록이 떠오르며.. 불도저처럼 모든 코드를 밀어버렸다. 2. 진짜 코드를 작성하라  package lv2;import java.util.Scanner;public class CalculatorApp { public static voi..

[Spring_4기 본캠프] 3주차 - 계산기 lv2 | Day 23

1. 계산기를 lv2로 업그레이드 하자!계산기 lv1을 구현하고 나서 이어지는 lv2 구현하기. 이전에 구현했던 계산기에 몇 가지 기능을 추가하고 나면 lv2가 뚝딱-! 완성된다.- 사칙 연산을 수행 후 결과값을 반환하는 메서드를 구현하세요.- 연산 결과를 저장하는 컬렉션 타입 필드를 가진 Calculator 클래스를 생성하세요.- 연산 수행 역할은 Calculator 클래스가 담당, 연산 결과는 Calculator 클래스의 연산 결과를 저장하는 필드에 저장- App 클래스의 main 메서드에서 Calculator 클래스의 연산 결과를 저장하고 있는 컬렉션 필드에 직접 접근하지 못하도록 수정 (캡슐화)- 간접 접근을 통해 필드에 접근하여 값을 가져오는 Getter메서드, 값을 제거할 Setter메서드 활..

[Spring_4기 본캠프] 3주차 - 컬렉션 | Day 22

1. Collection, 컬렉션 (자료구조) : 기본형 변수가 아닌 참조형 변수를 저장한다.- List : 순서가 있는 데이터의 집합 (데이터 중복 허용). - Array 와 비슷- Queue : 한 쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합 ( First In First Out, 먼저 들어간 것이 먼저 조회된다.)- Set : 순서가 없는 데이터의 집합 (데이터 중복 불허) - 순서 X, 중복 X- Map : 순서가 없는 (Key, Value) 쌍으로 이루어진 데이터의 집합 - Key 값 중복 불허   1) Listⓐ ArrayList : 배열처럼 일렬로 데이터를 저장하고 조회하여 순번 값(인덱스)으로 값을 하나씩 조회- 크기가 정해져있지 않고 필요할 때마다 크기가 점점 더 늘어난다...

[Spring_4기 본캠프] 3주차 - 계산기 lv1 구현하기 | Day 21

1. 계산기 구현하기 과제- 필수 기능 -1) 양의 정수(0을 포함)를 입력받기2) 사칙연산 기호를 입력받기3) 입력받은 정수들의 연산 결과를 출력 package lv1;import java.util.Scanner;public class CalculatorApp { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System.out.print("숫자를 입력하세요 : "); int num1 = sc.nextInt(); System.out.print("연산자를 입력하세요 (exit 입력 시 종료됩니다) ..

[Spring_4기 본캠프] 2주차 - 자바 문법 종합반[배열과 클래스] | Day 19

1. 배열 (Array) : 자료 구조  - 여러 개의 변수를 모아 같은 곳에 저장하고 싶을 때 기본적으로 배열이라는 변수에 저장(표현)한다.     쉽게 표현하자면 배열은 변수를 담을 수 있는 분류통 중 가장 기본 형태라고 할 수 있다.   - 한 번에 많은 양의 데이터를 다루거나 계산할 때 사용한다.- 타입 [ ] 변수; - 타입 변수 [ ]; // 배열 선언// 일반적인 선언방식int[] intArray; // 정수 배열long[] longArray;double[] doubleArray; // 실수 배열 char[] charArray; // 문자 배열String[] stringArray; // 문자열 배열// 배열 선언// 2번째 선언방식int intArray[]; // 정수 배열lo..

[Spring_4기 본캠프] 2주차 - 자바 문법 종합반 | Day 18

1. 자바 문법 종합반 1주차 수강 후 과제 : 요리 레시피 메모장 만들기입력값내가 좋아하는 요리 제목을 먼저 입력합니다.요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해주세요.이어서 내가 좋아하는 요리 레시피를 한 문장씩 10문장을 입력합니다.출력값입력이 종료되면 요리 제목을 괄호로 감싸서 먼저 출력해줍니다.이어서, 요리 별점을 소수점을 제외한 정수로만 출력해 줍니다. 바로 뒤에 정수 별점을 5점 만점 퍼센트로 표현했을 때 값을 실수로 출력해 줍니다. 이어서, 입력한 모든 문장 앞에 번호를 붙여서 모두 출력해 줍니다.위 과제를 진행하기 전 어떤 기능을 사용해 각 지시사항을 구현해야할 지 생각해봤다.- 별점 입력 시에는 1~5사이 소수점이 있는 실수를 받지만, 출력 시에는 소수점을 제외한 별점에 그..

[Spring_4기 본캠프] 2주차 - 자바 문법 종합반 | Day 17

자바 문법 종합반 1주차참조형 변수 타입 래퍼클래스 타입 실습문자열 변수 String 큰 따옴표 안에 보관. 캐릭터가 모여서 String이 된다.Wrapper class : 기본형(byte,short,long 등등)을 감싼 것숫자를 문자로 변환해보기import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int asciiNumber = sc.nextInt(); //scanner 안에 친 값을 하나씩 읽어주는 것.그 하나하나를 아스키넘버로 할당 char ch = (char)asciiNumber; // 아..

[Spring_4기 본캠프] 1주차 - 팀프로젝트의 끝, 발표 | Day 16

본 캠프가 시작하고 11월4일부터 오늘 11월8일까지 일주일간 진행했던 팀프로젝트를 발표하고 거의 끝이 났다.왜 완전 끝이 아니라 '거의'냐.. 발표하면 끝난거 아니야? 답은 아니었다. 프로젝트가 끝나고 느낀점, 아쉬웠던 점, 프로젝트 중 생긴 문제점, 해결점, 개선하고싶은 점 등등... 오히려 프로젝트 준비 때보다 더 많은 생각을 하고 이에 대해 모두 대답을 해야 완전히 끝이 난다. KPT 회고란?- Keep : 현재 만족하고 있는 부분, 계속 이어갔으면 하는 부분 (좋은 것을 유지)- Problem : 불편하게 느끼는 부분, 개선이 필요하다고 생각되는 부분 (문제 정의)- Try : Problem에 대한 해결책, 다음 회고 때 판별 가능한 것, 당장 실행가능한 것 (시도) KPT 회고의 목적- 짧은 ..