etc II/코드스테이츠

코드스테이츠 블로깅 세션 :) 첫 번째 - 자바의 기초를 배우다. 자바의 특징/String클래스/타입/변수/상수/리터럴/타입변환/입출력/제어문/배열

euncheol kim 2022. 5. 11. 14:45

 

 

 

 

코드스테이츠, 블로깅세션

  • 자바의 특징
  • 자바의 타입
  • 자바의 String클래스
  • 자바의 변수, 상수, 리터럴, 타입변환
  • 자바의 연산자, 입출력, 제어문, 배열

 

 

요약

헷갈리거나 몰랐던 내용

  • 자바의 타입 / 기본타입의 크기와 표현, 범위
  • 자바의 String클래스 / StringTokenizer 클래스
  • 자바의 String클래스 / StringBuilder와 StringBuffer (+차이점 => 따로정리)

 

 

첫 번째(?) 여정 - 자바의 기초를 학습하다.


 

 

1. 자바의 특징


학습내용 학습 전 이해 여부 학습 후 이해 여부 이해하지 못한 이유
학습내용 학습 전 이해 여부 학습 후 이해 여부 이해하지 못한 이유
JVM동작 방식 O O  
JRE & JDK O O  

[학습목표]

  • JVM 동작 방식 : JVM이 운영체제에서 어떻게 돌아가는지 이해한다.
  • JRE & JDK : JRE와 JDK를 이해한다.

 

 

2. 자바의 타입


학습내용 학습 전
이해 여부
학습 후
이해 여부
이해하지 못한 이유
기본타입 O O  
참조타입 O O  
기본타입의 크기와 표현, 범위 코드를 작성하며 신경쓸 필요성을 느끼지 않았기 때문에 자주 보지 않았음

[학습목표]

  • 기본타입 : 기본타입이 무엇이고 JAVA에서 사용하는 법과 기본타입에 저장되는 값을 이해한다.
  • 참조타입 : 참조타입이 무엇이고 JAVA에서 사용하는 법과 참조타입에 저장되는 값을 이해한다.
  • 기본타입의 크기와 표현, 범위 : 메모리에서 기본타입이 차지하는 공간과 범위에 대해서 이해한다.

 

 

[1] 기본타입의 크기와 표현 범위

타입 구분 메모리(단위 : Byte) 범위
byte 정수 1 -2^7 ~ 2^7 - 1
short 정수 2 -2^15 ~ 2^15 - 1
int 정수 4 -2^31 ~ 2^31 - 1
long 정수 8 -2^63 ~ 2^63 - 1
flot 실수 4 -3.4 * 10^38 ~ 3.4 * 10^38
double 실수 8 - 1.7 * 10^308 ~ 1.7 * 10^306
char 문자 2 0 ~ 2^16
boolean 논리 - true 또는 false

 

 

3. 자바의 String 클래스


학습내용 학습 전
이해 여부
학습 후
이해 여부
이해하지 못한 이유
String 클래스 사용법 O O  
String 클래스의 대표 메소드 O 까먹은 내용이 상당함
StringTokenizer 클래스 X X 사용을 한 번도 안 해봐서 공부할 필요성을 못 느낌
StringBuilder 클래스 X O 하지만, StringBuffer와 차이점이 무엇인지 모름
StringBuffer 클래스 X O 하지만, StringBuilfer와 차이점이 무엇인지 모름

[학습목표]

  • String 클래스 사용법 : String클래스를 사용하는 법을 이해한다.
  • String 클래스 대표 메소드 : String클래스의 대표적인 메소드를 알고 사용법을 숙지한다.
  • StringTokenizer 클래스 : StringTokenizer클래스 사용법을 숙지한다.
  • StringBuilder & StringBuffer : StringBuilder클래스와 StringBuffer클래스 사용법을 숙지한다. (+ 차이점)

 

 

[1] String 클래스 대표 메소드


참고자료 : class String, https://docs.oracle.com/javase/8/docs/api/java/lang/String.html, java8 docs

 

[2] StringTokenizer


참고자료 : class Tokenizer, https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html, java 8 docs

 

[3] String Builder & StringBuffer


StringBuilder와 StringBuffer의 차이점은 동기화 과정에 있다. StringBuffer같은 경우는 동기화를 지원하여 멀티 스레드 환경에서도 안전하게 동작한다.

참고자료 : java :) StringBuilder, StringBuffer의 개념과 사용의 이해, https://kimeuncheol.tistory.com/95?category=1065016, Euncheol Kim - 백엔드부터 인공지능까지

 

 

4. 자바의 변수, 상수, 리터럴, 타입변환


학습내용 학습 전
이해 여부
학습 후
이해 여부
이해하지 못한 이유
변수란?, 선언과 할당 O O  
상수란?, 쓰는 이유 O O  
리터럴이란? O O  

 

 

 

5. 자바의 연산자, 입출력, 제어문, 배열


학습내용 학습 전
이해 여부
학습 후
이해 여부
이해하지 못한 이유
산술 연산자 O O  
비교 연산자 O O  
연산자 우선순위 O O  
입출력하는법 O O  
제어문 - if문 O O  
제어문 - for문 O O  
제어문 - while문 O O  
제어문 - do~while문 O O  
continue와 break O O  
1차원 배열 O O  
다차원 배열 O O  
가변 배열 O O  
문자열 배열 O O  
배열 탐색 O O  

[학습목표]

생략

 

6. 자바의 클래스와 객체, 생성자, 오버로딩

학습내용 학습 전
이해 여부
학습 후
이해 여부
이해하지 못한 이유
클래스 O O  
객체와 인스턴스 O O  
객체의 생성과 활용 O O  
필드 O  
생성자 O O  
this와 this() O O  
오버로딩 O  

[학습목표]

  • 클래스 : 클래스가 무엇인지 알고 사용법을 안다.
  • 객체와 인스턴스 : 객체와 인스턴스를 알고 구분하여 명칭하는 법을 안다.
  • 객체의 생성과 활용 : 객체를 생성하는 방법을 알고 사용법을 숙지한다.
  • 필드 : 필드가 무엇을 나타내는지 안다.
  • 생성자 : 생성자의 개념을 알고 사용법을 숙지한다.
  • this와 this() : this와 this()의 사용법을 숙지한다.
  • 오버로딩 : 오버로딩이라는 것이 무엇인지 숙지한다.

 

 

[1] 필드


필드란? : 생성자 + 메소드 + 전역변수

 

 

[2] 오버로딩


오버로딩의 조건

  • 메소드의 이름이 같아야한다.
  • 메소드의 매개변수 개수 또는 타입이 달라야한다.
  • ※ 오버로딩은 반환 타입과는 관계가 없다.