오늘의 개발

    [Java] 인스턴스 멤버와 정적 멤버, 싱글톤, final

    Chapter 06 클래스 06-1 객체 지향 프로그래밍 06-2 필드 06-3 생성자 06-4 메소드 06-5 인스턴스 멤버와 정적 멤버 06-6 패키지와 접근 제한자 06 클래스 06-5 인스턴스 멤버와 정적 멤버 시작하기 전에 인스턴스 멤버: 객체마다 가지고 있는 멤버 인스턴스 필드: 힙 영역의 객체마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장한다. 인스턴스 메소드: 객체가 있어야 호출 가능한 메소드, 클래스 코드(메소드 영역)에 위치하지만, 이해하기 쉽도록 객체마다 가지고 있는 메소드라고 생각해도 된다. 정적 멤버: 객체와 상관없는 멤버, 클래스 코드(메소드 영역)에 위치 정적 필드 및 상수: 객체 없이 클래스만으로도 사용 가능한 필드이다. 정적 메소드: 객체 없이 클래스만으로도 호출 가능..

    [TIL] 3주차 주특기 입문ㅣCRUD API 만들기 1편

    Spring 입문 주차 개인 과제 이번 주차는 처음으로 개인 과제를 받았다. 스프링 부트를 이용하여 CRUD API를 만드는 것인데 자세한 요구사항은 다음과 같다. 🚩 Goal: "스프링 부트로 로그인 기능이 없는 나만의 항해 블로그 백엔드 서버 만들기" 처음 과제를 마주했을 때는 '이게 되나..?' 싶은 마음이 컸는데 어느새 강의를 다 듣고.. 유스케이스를 그리고.. 프로젝트를 만들고 있는 나를 발견😂 하나하나 알려주는 방식이 아니다 보니 오늘의 궁금했던 부분과 찾아낸 해답들을 정리해보려 한다. 오늘의 궁금증 1. @RequestBody vs @ModelAttribute 둘 다 클라이언트 측에서 보낸 데이터를 객체로 바꿔주는 건 맞는데.. 둘이 어떻게 다르지? RequestBody @RequestBod..

    [Java] 메소드(method)

    Chapter 06 클래스 06-1 객체 지향 프로그래밍 06-2 필드 06-3 생성자 06-4 메소드 06-5 인스턴스 멤버와 정적 멤버 06-6 패키지와 접근 제한자 06 클래스 06-4 메소드 시작하기 전에 메소드(method)란? 객체의 동작에 해당하는 중괄호 {} 블록을 의미한다. 메소드를 호출하면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행된다. 메소드 선언 메소드 선언은 선언부(리턴타입, 메소드 이름, 매개 변수 선언)와 실행 블록으로 구성된다. 이때, 메소드 선언부를 메소드 시그니처라 한다. 1. 리턴 타입 메소드를 실행한 후 결과값의 타입을 말한다. 리턴값은 있을 수도 없을 수도 있다. 리턴값 있을 경우 리턴 타입이 선언부에 명시되어야 한다. 리턴값 존재 여부에 따라 메소드 호출 방..

    [WIL] 항해99 2주차 회고ㅣ프로그래밍 기초

    이번 주 톺아보기 2022.11.21 [TIL] 2주차 알고리즘 코드 리뷰, Java 스터디 2022.11.22 [TIL] 2주차 알고리즘 모의고사 2022.11.23 [TIL] 2주차 알고리즘 조각 모음 2022.11.24 [TIL] 2주차 알고리즘 테스트 2022.11.25 [TIL] 2주차 주특기 입문 주간 시작 2022.11.26 [TIL] 2주차 주특기 입문 Spring과 친해지기 잘한 점 알고리즘 27문제와 코드 리뷰 이걸 다 내가 풀었다고? 챌린지 문제까지 전부 풀진 못했지만 개인적으로 많이 성장했다고 느꼈다. 혼자였으면 절대 못했다. 조원들과 함께 코드 리뷰를 진행했던 게 굉장히 큰 도움이 되었다. 덕분에 모의고사와 본 테스트 모두 무리 없이 치를 수 있었다. 차곡 차곡 쌓아간 흔적들 👉 ..

    [Java/프로그래머스] 예산

    문제 풀이 (1) 문제 분석하기 가장 적은 신청 금액부터 더하여 비교할 수 있도록 먼저 배열 오름차순 정렬 반복문을 돌면서 i번째 요소를 누적해서 더하고, budget과 조건문으로 비교 budget보다 작으면 count를 1 올려주고, 아니라면 반복문 멈춤 (2) 슈도코드 작성하기 누적해서 더한 값을 담을 sum 변수와 더해진 요소의 개수를 세어줄 count 변수 선언 for(d 배열의 길이만큼){ d의 i번째 요소를 sum에 더함 if(sum이 budget보다 작으면){ count를 1 올려줌 }else{ 반복문 멈춤 } } count 반환 (3) 코드 구현하기 package algorithm.test27; import java.util.Arrays; public class Solution { // 입..

    [TIL] 2주차 주특기 입문ㅣJava 스터디 발표

    ✍ Today I Learned Java 스터디 발표 이번 주차에 공부한 Chapter 06 클래스 부분의 객체지향, 필드, 생성자 파트를 맡아 발표를 진행하게 되었다. 나는 처음 자바를 배울 때 객체지향 파트가 정말 재밌었던(!) 기억이 있는데 그렇지 못한 분들도 있는 것 같아서 최대한 이해하기 쉽게! 재밌게! 설명하는 게 목표였다. 이미 자료 정리는 다 끝낸 부분임에도 첫 발표라는 부담감에 새벽까지 계속 수정하고, 읽어보고 반복.😂 나 혼자만 떠드는 시간이 아니라 함께 참여하는 시간이었음 해서 마지막에 퀴즈도 넣었다. 그 결과..! 다행히 스터디원분들이 즐겁게 참여해주시고, 칭찬도 많이 해주셔서 뿌-듯했다.✌ 정리하면서 나도 헷갈렸던 부분을 다시 짚어보는 알찬 시간이었다! [Java] 객체지향, 클래..

    [Java/프로그래머스] 약수의 합

    문제 풀이 (1) 문제 분석하기 반복문을 돌면서 n을 i로 나눴을 때 나머지가 0인 값을 정답 변수에 더함 이때 주어진 반복 횟수를 줄이기 위해 정수 n을 1/2로 나눈 값 만큼 반복문을 돌고, 나온 값에 n을 미리 더함 (2) 슈도코드 작성하기 정답을 담을 int형 변수 answer n으로 초기화 for(1부터 n/2포함까지){ if(n을 i로 나눴을 때 나머지가 0이면){ answer에 i를 더함 } } 정답 변수 answer 반환 (3) 코드 구현하기 package algorithm.test26; public class Solution { // for문을 돌면서 정수 n을 i로 나눠서 딱 떨어지는 값을 answer에 더함 // 반복문은 n/2 까지 public int solution(int n) {..

    [Java/프로그래머스] 약수의 개수와 덧셈

    문제 풀이 (1) 문제 분석하기 약수의 개수를 count하는 메소드를 따로 분리 입력 받은 수만큼 반복문을 돌면서 메소드로 약수의 개수를 구한 뒤, 짝/홀수 판별하여 answer에 담아줌 이때 약수 개수가 홀수라면 음수로 저장되어야 하므로 * (-1) (2) 슈도코드 작성하기 정답을 담을 int형 answer 변수 선언 for(left부터 right만큼) { if(약수의 개수가 짝수라면) { 정답에 i를 담음 else(약수의 개수가 홀수라면) { 정답에 -i를 담음 } } // 약수의 개수를 구할 메소드 분리 정수 n을 매개변수로 받는 메소드 생성 개수를 세줄 int형 변수 count 1로 초기화 for(2부터 n포함까지) { if(n을 i로 나눴을 때 나머지가 0이면 count++ count를 반환 }..