플레이데이터 부트캠프 데이터 엔지니어링 트랙 9주차 (7.31~8.4)

안인균·2023년 8월 6일
0
post-thumbnail

지난 주차까지 드디어 길었던 '머신러닝 - 딥러닝' 수업이 완료되었습니다. 이론들로 가득했던 수업들이었던 만큼 하나씩 이해하는데 어려운 점들도 많았지만 하다보면서 '데이터 분석' 관해 흥미를 갖게되었습니다.
이번 주부터는 Java 프로그래밍 학습이 시작됩니다. 이미 Python을 학습하였지만, 웹 기초와 데이터베이스, 서버 등과 같이 백엔드 관련 지식을 위한 기초를 다지는 시간을 가지게 되었습니다. 우선 자바의 기초 프로그래밍 수업이 이번 주차에 진행되었습니다.

지난주 (7.28)에 이미 시작된 수업이지만, 당시에 아파서 수업에 참여하지 못하여 수업 내용의 앞부분 비게되었습니다. 또한 7.31, 8.1 은 휴강이었기 때문에 이번 주차는 총 3일의 수업이었습니다. 예전에 자바를 학습한 적이 있어 수업 내용을 따라가는데 지장은 없지만 앞으로의 건강관리가 중요하다는 것을 깨닫게 되었습니다.


Liked

  • Python 기본 문법과 마찬가지로 Java 에서도 똑같은 문법들을 다뤘습니다. 다만, 파이썬과 형태가 다르고, 자바만의 특징이 담긴 코드들을 엿볼 수 있는 좋은 기회였습니다.

  • 일정량의 진도를 마친 후 실습 예제 문제들을 풀 수 있는 시간들을 제공 받아서 스스로 자바 코드를 다룰 수 있는 시간이 있어서 매우 좋았습니다. 내용만 듣고 넘기기보단 실습 과제를 통해 구현할 수 있는 시간 덕분에 자바에 대한 이해를 높일 수 있어서 만족하였습니다.

  • 이전에 학습했던 내용들이 머리에 남아 오늘의 실습 예제문을 코딩하는데 수월한 점이 많았습니다. 문제에 나온 형식대로 출력하는 것도 손쉽게 할 수 있었습니다.

Lacked

  • 파이썬과 자바의 코드 짜임새의 차이 때문에 중간 중간에 헷갈리는 부분이 있었지만 오히려 다시 돌아볼 수 있는 기회를 얻은 것 같아 재학습할 수도 있었습니다. 그래도 헷갈리는 부분이 조금 아쉬웠습니다.

  • 지난 시간에 건강 관리를 못해 빠진 수업이 있어서 아쉬웠습니다.

  • 실습 문제 중 LottoMachine 풀이 중 너무 간단하게 생각하고 코드를 짜서 틀린 것이 아쉬웠습니다. 또한 이후에 수정하는 과정에서 코드가 맞은 것 같으나 결과값이 이상하게 나오는 점을 확인하였고, 변수명 변경을 하지 않은 문제를 발견해서 원하는 답을 얻었습니다. 코드가 복잡해지고 변수가 많아질수록 이와 같은 실수를 반복하지 않겠음을 다시 한번 다짐하였고 오늘의 아쉬웠던 점으로 남았습니다.

Learned

  • Java 관련 기본 문법들을 학습하고 실습 예제문을 통해 복습을 실시간으로 할 수 있었습니다.
ForIfOperation(관계, 논리 연산자)
Switch
  • Java

    • printf 구문
    • if 중첩문
    • while
    • switch문에서 case가 char 타입인 경우와 break 구문의 중요성에 대해 학습하였습니다.
  • 이에 더해 break문, continue문 활용에 대해 학습하고 차이를 알게되었습니다.

  • 자바의 Array (배열) 에 대한 내용을 학습하였습니다.

  • 자바 Array(배열) 자료형 학습
    : int형 배열 뿐만 아니라 char형 배열 또한 선언하고 사용되는 방법을 학습하였습니다.

  • 자바 Method(메서드) 학습

    • 수행 코드를 정의하는 요소
    • main() 메서드 : 자바프로그램 수행 시 제일 먼저 호출되는 메서드(자바인터프리터-JVM)
    • 객체의 행동 또는 기능을 구현하는 요소
    • 함수와 거의 동일, 메서드는 객체에 속한 함수

1. 메서드 생성 :

[제어자...] 리턴값타입 메서드명([매개변수선언...]) [throws 예외클래스,...] {
    메서드의 수행코드
        :
}

==> (메서드 헤드) {
        (메서드 바디)
}

2. 메서드 호출 :

    메서드명([argument,...]);
    변수명 = 메서드명([argument,...]);
    System.out.println(메서드명([argument,...]));
    변수명 = 메서드명([argument,...]) + 10;
    if(메서드명([argument,...])){ 
        // -> "해당 메서드의 return타입이 boolean 일 때 가능"
    }

3. 메서드 오버로딩 :

  • "하나의 클래스 안에 동일한 이름의 메서드를 2개 이상 정의하는 것."
  • 그러나, 반드시 매개변수의 사양은 서로 달라야 한다.
  • 오버로딩의 개수에는 제한이 없다.
    - Ex) System.out.println(); -> 10개로 오버로딩 되어 있음.


  • 앞으로 학습하게 될 자바의 OOP 구문에 대한 기본 내용을 학습하였습니다.

Longed for

  • 향후 공부할 방향과 하고 싶은 일에 대해 탐색할 예정입니다.
  • 알고리즘 학습과 코딩 테스트 문제 풀이를 할 예정입니다.
  • 이전 학습에 대한 복습을 진행할 것 입니다.
  • 건강관리에 신경쓸 예정입니다.

0개의 댓글