컴공생의 발자취

[내일배움캠프 6일차 TIL] Java 문법 기초부터 반복문까지 본문

🤝 활동/스파르타코딩클럽

[내일배움캠프 6일차 TIL] Java 문법 기초부터 반복문까지

MNY 2024. 4. 22. 21:15
728x90
반응형
오늘의 진도 : Java 문법 종합반 2주차 2-10 반복문 활용 연습까지...

일단은 문법 공부 첫 주차이기에 내가 강의를 들으면서 새롭게 알게되거나 애매했던 부분들에 대해 정리하려고 한다.
그리고 튜터님과 면담이 있었다면 면담 이후 어떤 생각을 하게 되었는지도 함께 작성할 것이다.

 

💡 오늘의 학습 키워드

- 1주차 -
JVM이란?
자바 상수 선언
wrapper 클래스 변수
stack & heap의 메모리 할당
입력 & 출력

- 2주차 -
연산자 우선순위
삼항 연산자
비트 연산
향상된 for문
do-while

 


 

JVM이란?

  • Java Virtual Machine의 약자로 "자바 가상 머신"이라는 뜻
  • 여러가지의 기기 위에 Java 프로그램을 실행시킬 수 있는 가상의 기기

 

자바 상수 선언

  • final : 데이터 타입 앞에 final을 붙인다.

* 그럼 static은? -> 요건 내일...

 

wrapper 클래스 변수

: 기본형 변수를 클래스로 한 번 랩핑(감싸는 변수)

  • 박싱 : 기본 타입 -> 래퍼 클래스
  • 언방식 : 래퍼 클래스 -> 기본 타입

* 왜 래퍼 클래스를 사용하는가?

클래스는 객체지향 언어인 Java의 핵심 기능!

그렇기 때문에 클래스로 변수를 관리하면 객체지향의 많은 기능을 사용할 수 있게 된다.

 

stack & heap 메모리 할당

  • stack : 정적 메모리 할당
  • heap : 동적 메모리 할당

 

입력 & 출력 정리

  • 입력
// import java.util.Scanner;

Scanner sc = new Scanner();

// 공백으로만 구분되어 입력
sc.nextInt(); 
sc.nextDouble();

// Enter까지
sc.nextLine();
  • 출력
System.out.print("hello"); // 줄바꿈 X
System.out.println("hello world"); // 줄바꿈 O

 

연산자 우선순위 : 산술 > 비교 > 논리 > 대입

  • 산술 연산자 : +, -, *, /, %
  • 비교 연산자 : <, <=, >, >=, ==
  • 논리 연산자 : ||, &&
  • 대입 연산자 : =, ++, --

 

삼항 연산자

  • 조건 ? 참 : 거짓

 

비트 연산

  • << : 곱하기 2

ex) 3<<2

-> 11(2) : 3 -> 1100(2) : 12 

  • >> : 나누기 2

ex) 6>>1

-> 110(2) : 6 -> 11(2) : 3

 

향상된 for문

  • 항상 배열과 함께 사용된다.
  • for (타입 변수 : 배열)
int numbers = {3, 6, 9};
for (int number : numbers) {
	// 내용
}

 

do while

do {
	// 내용
} while(수행 조건);

 


과제!

  • 계산기 만들기
  • 목표 : level2 까지!!!!


chat gpt를 사용해도 어떻게 학습, 활용하면 좋을지를 물어보는 데에 활용!
그냥 문제 풀이해줘 이런 건 나에게 도움이 안 된다ㅠ
* 튜터님의 역할 : 내가 어떤 걸 모르고 학습하지 못하는지를 모를 때 찾아가는 것!

commit & 주석 중요!
과제 가이드 영상 참고

 

 


튜터님과의 면담

* 튜터님이 많이 계시기에 같은 튜터님 아닐 가능성 높음... ㅎ

 

1차 면담

  • Q : 아직 학습하는 과정에서 문제가 발생한다면 어떤식으로 해결하는 과정이 좋은가?
  • A : 다양한 정보 수집(비슷한 질문을 가진 개발자의 블로그, 영문 문서, chat gpt, 튜터님께 물어보기 등)
    그리고 내가 어디까지 이해했고 어떤 걸 모르는지에 대한 TIL 작성

 

  • Q : 신입일 때 할 수 있는 문제해결은 블로그로 아는 경우가 대다수인데, 추천하는 방법이 있는가?
  • A : 블로그로 알았다고 해도 완벽한 해결방법이 아닐 가능성 있음 -> 그런 과정에서 어떤 걸 찾아서 해봤고 어떤 문제가 있어서 무슨 방식을 했는지를 정리하면 좋을 것 같다!
  • A : 문제해결 추천
    1. 관련 해결 레퍼런스 문서를 찾는다!
    2. 해결 방법을 찾고 다른 것도 찾았을 때 왜 이게 더 좋은지 판단!하는 과정~?

 

  • Q : 대기업에서 스타트업으로 전향하신 계기? // 요거 너무 궁금했어
  • A : 돈 - 대기업 시스템은 체계적이기에 보상으로 올때까지 오랜 기간이 걸림 / 스타트업은 바로 성과가 나타남
  • A : 일이 재밌어야! - 대기업은 체계적이기에 반복적인 일이 생각보다 많다 / 스타트업은 아이디어를 제시하고 도전해볼 수 있다

 

2차 면담

  • 어떤 분야의 직업을 할지 다시금 생각해보게 된 계기 : 도메인, 검색, 트래픽, 서비스 등등
  • 면담 후 나의 생각 : 대기업 취업 후 스타트업으로 전향 희망
  • why? 
    지식과 경험이없는 상태에서 스타트업의 경우 자기 혼자 QA?를 진행하게 될 수도 있는데 그런 것보다는 대기업에서 먼저 배우고 전향하는 게 나을 것 같다고 생각하게 됌.
    처음 스타트업을 선호한 것은 다양한 것을 배울 수 있어서라고 생각했지만... ㅠ

 

앞으로 튜터님께 여쭤보고 싶은게 있다면?

  • 솔루션과 컨설팅에 대해..
  • 항해99를 진행하면서 조금 더 적극적으로 질문 못했던 것이 후회 -> 어떤 질문이었는지?
  • MSA 기반의 서비스 개발을 좋아하시는 이유가 있는지?
  • 어떤 과정을 거치며 스마트 팩토리 개발자로 가게 되셨는지?

 


오늘의 회고

  • 12시간 중 얼마나 몰입했는가?

오늘은 쉴 땐 쉬고 집중할 땐 최선을 다해 집중했던 것 같다.

그럼에도 불구하고 강의영상을 볼 땐 식곤증으로 조금 졸기도 했지만..

그럴 땐 강의에서 나오는 내용을 그냥 따라치기라도 하거나 자세를 바꾸는 등의 방법을 통해

잠을 쫓아냈다!!!

 

  • 오늘의 생각

아직은 내가 알고 있는 것들도 나오고 해서 별다른 어려움은 없다.

뭔가 새로운 걸 배울 때의 흥미로움?을 느끼고 있는 중이다!

내일은 어떤 걸 배울지 지금으로서는 매우 호기심 가득한 상태!!!

과제도 기대된다~ 내가 과제를 통해 어떤 걸 배우고 활용하게 될지가😁

아.. 그리고 모르는 거 넘 많넹...

 

  • 내일 학습할 것은 무엇인지

튜터님들의 멤버카드(소개)를 보다가 도메인의 정의를 다시금 생각해보며 문득 든 의문...
내가 이 정의에 대해 자세하게 알고 있는 것이 맞는가?

  1. RESTful API?
  2. REST?
  3. API?
  4. 도메인?

이것들의 차이는 뭐지???

  • URL vs URI ? // 요건 그냥 덤으로.. 생각이 났다ㅠ

그러고보니 자바 상수 선언에서 final이 있었지만, 그럼 static은? 

이 둘의 차이는 또 뭘까..?

728x90
반응형