배울 내용
1. 개발환경 세팅
2. java intro
3. 변수와 타입
4. 문자열
배운 내용
-변수 -> 모든 데이터를 보관하는 상자 => 메모리 (모든 변수는 메모리에 저장되어서 돌아감)
문자열 -> 글자를 저장하고 관리하는 방법
타입이라는거는 정확한 용도가 있다.
자바에서의 변수는 사용하는 용도가 다르고. 용도에 따라 사이즈를 어떻게 할지 메모리 사이즈가 다르다.
-> 메모리 사이즈, 크기 외우지 말기.
<<나의 다짐>>
나의 다짐과 초심을 잃지 않는 것이 중요하다.
1. 못한다고 생각하지 않기 (긍정적인 생각을 하자)
2. 매일 목표한 것을 하려고 노력하기
3. 과거, 미래에 집착하지 말고 현재를 살기
<<메타인지 데일리 질문>>
계획 - 오늘 나의 학습 목표는 무엇인가요?, 오늘 학습할 내용 증에 이미 알고 있는 내용은 무엇인가요?
점검 - 오늘 학습 내용 중 새롭게 배운 내용은 무엇인가요?, 오늘 새롭게 학습한 내용을 다른 사람에게 설명할 수 있나요?
조절 - 오늘 학습한 내용 중, 아직 이해되지 않는 불확실한 내용은 무엇인가요?, 이해되지 않는, 불확실한 내용을 보완하기 위해서 나는 무엇을 할 수 있을까요?
계획된 우연기술. 이게 다 흘러가는대로 흘러가는거다아......
메서드란 어떤 기능을 하는 코드를 묶음으로 묶은 것을 의미한다. 즉, 메서드는 어떠한 기능을 수행하기위한 일련의 코드들의 집합체이다 .
여기서 어떤 기능을 수행한다. 하는 것은 데이터를 입력받아 입력받은 데이터에 일련의 처리를 가한 후, 그 결과값을 반환하는 것을 의미한다.
외부로부터 전달받은 값을 저장하고 있는 변수를 매개변수라고 합낟.
즉 매개변수는 메서드 외부에서 메서드 내부로 전달한 값을 할당받아 저장함으로써, 메서드 내부에서 사용할 수 있게 해줍니다.
개발환경 세팅
맥 OS 에서 JDK, intelliJ, Jetbrain Toolbox 를 설치하며 본격적으로 자바를 사용하여 공부할 준비를 했다.
java intro
자바 언어의 4가지특징을 배웠다.
1) 운영체제에 독립적이어서 JRE가 설치되어있는 모든 우녕체제에서 실행이 가능하도록 만들었다.
2) 객체 지향 언어로써 모든 기능은 객체로 만들어 사용해야한다.
3) 자바 8버전부처 함수형 프로그래밍을 지원하는 문법인 람다식과 스트림이 추가되었다. 요것들을 사용하면 컬렉션의 요소를 필터링, 매핑, 집계처리하기 쉬워지고 코드가 간결해지는 장점이 있다.
4) 자동으로 가비지 컬렉터를 실행시켜 사용하지 않는 메모리를 수거한다. 그래서 메모리를 관리하는 수고를 덜 수 있다.
JRE : JVM + 표준 클래스 라이브러리
-> "Runtime" 즉 실행과 관련된 무언가이다.
JDK : JRE + 개발에 필요한 도구
-> "Development" 즉 개발과 관련된 무언가이다.
= 자바 프로그램만 실행할거라면 JRE만 설치해도됨. 하지만 자바 프로그램을 개발할 것이므로 JDK를 설치해야함.
JDK에는 OracleJDK 와 Open JDK가 있다.
메서드
메서드란, 어떤 기능을 하는 코드를 묶음으로 묶은 것을 의미한다. 즉, 메서드는 어떠한 기능을 수행하기 위한 일련의 코드들의 집합체이다.
여기서 어떤 기능으 수행한다는 것은 데이터를 입력받아 해당 데이터에 일련의 처리를 가함으로써 만들어낸 결과값을 반환하는 것을 의미한다.
변수
변수는 값이 변할 수 있는 데이터를 임시로 저장하기 위한 수단이다. -> 상자다.
변수를 선언한다는 것은 어떤 값을 저장할 메모리 공간을 확보하고, 해당 메모리 공간을 식별할 수 있는 이름을 붙이는 것을 의미한다.
타입
타입은 어떤 값의 유형 및 종류를 의미하며, 타입에 따라 값이 차지하는 메모리 공간의 크기와 값이 저장되는 방식이 결정된다.
1) 값이 차지하는 메모리 공간의 크기
-> 예를 들어, 정수형 타입의 데이터는 4byte, 문자형 타입의 데이터는 1byte이다.
2) 값이 저장되는 방식
기본 타입 : 저장하고자 하는 값을 그대로 저장. 값을 저장할 때, 데이터의 실제 값이 저장된다. (정수타입_byte, short, int, long 실수타입_float, double 문자타입_char 논리타입_boolean)
참조타입: 저장하고자 하는 값을 임의의 메모리 공간에 저장한 후, 그 메모리 공간의 주소를 저장. 값을 저장할 때, 데이터가 저장된 곳을 나타내는 주소값이 저장된다.
8개의 기본형을 제외한 나머지 타입이 해당된다.
리터럴
문자가 가르키는 값 그 자체를 의미한다.
a) 문자열 리터럴을 할당하는 방법 : 변수 = “문자열”;
b) String 클래스의 인스턴스를 생성하여 할당하는 방법 : 변수 = new String(”문자열”);
String 클래스는 문자열을 조작할 수 있는 유용한 메서드들을 가지고 있다.
ex) charAt(), conpareTo(), concat(), indexOf(), 등이 있다.
피드백
월요병인지.. 집중을 많이 하지 못했다. 변수와 타입, 스트링까지는 이전에 배운것과 같거나 비슷한 내용들이 많아서 어렵지 않게 이해할 수 있었으나 한번 헷갈린 건 영원히 헷갈리는 것인가... 예전에 헤멨던 부분을 이번에도 헤메고있다. 용어 정의가 머리속에 딱딱 안들어간다. 페어 프로그램을 하며 문제를 같이 풀었는데, 페어에게 설명을 해주려고 하는데 머리속에선 어떻게 해야할지 알겠는데 그걸 설명을 못하겠었다. 한번 날 잡고 용어 정리를 (메서드,, 클래스,, 요런것들) 싹해두고 계속 보면서 외워야겠다.