<aside> 🌅
<aside> 👉🏻

<aside> ✅
<aside> ☝🏻

기본적으로 우리가 사용하는 for 문은 다음과 같은 형태를 띈다
for (int i =0;i<10;i++){}
→ 장점 : 이해하기 쉽다 / 단점 : 코드가 길어질 수 있다.
</aside>
<aside> ✌🏻
Arrays.stream(arr) .forEach(System.out::println);
→ 장점 : 코드가 짧고 간결하다 / 단점 : 처음에 적응하는데 어려움
</aside>
</aside>
<aside> ✅

위의 선언형에서 사용하는 test 라는 함수는 함수 그 자체를 forEach 에 보내주는 것을 의미합니다. 그리고 앞에 있는 Main :: test 는 → 현재 test의 함수가 Main class 내에 있는 것을 알 수 있습니다.
</aside>
<aside> ✅
함수를 사용하면 코드의 재사용을 할 수 있다는 장점이 있습니다.
그러나 이 함수를 한번만 사용하는 경우에는 → 1회성 함수를 사용하는 것이 좋습니다.
그렇기 때문에 람다 함수를 이용하여 코드를 작성합니다.
<aside> ⚠️

</aside>
이 코드 대신 다음과 같이 작성할 수 있습니다.
<aside> 👉🏻
Arrays.stream(arr) .forEach(num -> System.out.println(num + "번"));
</aside>
</aside>
<aside> ✅
<aside> ✅
forEach() 특징 toArray() 특징


</aside>
<aside> ✅
stream 의 가장 큰 특징은 원본의 불변성을 보장한다는 것이다.
<aside> ✅
Optional <Person> p1 = Optional.empty();
→ NullPointerException(NPE) 예방이 목적
Optional 은 person객체를 감싸는 상자라고 생각하면 된다.
이 상자 안에는 값이 있을 수도 있고, 없을 수도 있다.
이는 p1 안의 값이 없을때 발생할 수 있는 에러를 예방시켜주는 것이다.
</aside>
</aside>
</aside>
<aside> 🌇
<aside> ✅
git init → .git 파일을 생성한다
→ 기본적으로 .git 파일은 숨겨져 있기 때문에 이를 확인하기 위해
→ 맥북 cmd + shift + . 을 이용한다
git status = 파일 관리 및 추적
git add = (index) 공간에 담는 역할을 한다. 특히 원하는 파일만 commit 하고 싶을때
→ git add (원하는 파일명) 이렇게 활용가능하다
git rm —cached (파일명) = index에 넣은 파일을 제거하고 싶을때 이용
git log = 현재까지 커밋한 기록을 보여준다
git log —oneline → 이를 이용하여 커밋기록을 한줄로 요약해서 보여준다.
git checkout (커밋고유번호) → 예전에 커밋해둔 고유번호를 작성하여 원하는 커밋시점으로 이동할 수 있다.
git checkout main : (현재 branch 에서 제일 최상단으로 돌아온다.) </aside>
<aside> ✅
</aside>
<aside> ✅

→ 원격 저장소에서 저장된 것을 가져올 때 차이점이 있다.
</aside>
</aside>