일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 호스트주소 #Host주소
- 회고 #주간회고
- Git #회고록
- 에러해결
- 인터넷 #ISP
- 회고록_코드스테이츠
- String
- 정리글 작성법
- 회고
- WSL #Linux #ubuntu
- git #intellij
- jvm
- JAVA기본
- 코딩테스트
- 사용자계정 #WSL2
- OOP
- 롤중독
- WSL2 #권한
- 글 foramt
- 공부방식
- 회고록
- 백엔드로드맵
- 네트워크 기초
- 시작 #꾸준히 #과하지않게
- Java환경
- 피드백
- 코드스테이츠 #회고록
- 몰입학습 #몰입
- mapstruct
- 코드스테이츠 #
- Today
- Total
느리더라도 꾸준히
회고록(16) - 모의 기술 면접 체험 본문
1. 데일리 일기
오늘 동기들과 모의 기술면접을 진행했다. 면접진행하며 느낀건 Java의 기술, 코드작성법등도 중요하지만, 용어 자체가 가진의미를 정확히는 아는 것이 참 중요하다고 생각했다. 예를 들어 참조 나 할당, 대입, 인스턴스, 객체등은 너무 자주 사용해서 익숙한 것 같지만, 때때로 그냥 이런 느낌이야 하고 넘어갈 때가 빈번이 발생했던 것 같다.
이런 넘어간 부분들이 면접때, 들어난다고 생각한다. 앞으로는 일부로 최대한 정확한 용어를 사용하도록 노력해야겠다. 만약 용어를 모르더라도 괜찮다. 검색하면 되니까~
오늘 다른 교육 생들의 블로그들을 보면서 내 회고록의 형식이 심플하지 않다는 느낌이 났다. 학원에서 메타인지를 훈련하기 위해 공부했던 단어를 모두 나열하고 스스로 설명하라고 했지만, 부트 캠프 형식상 공부 내용만으로도 벅찬데 회고록에 너무 많은 시간을 쓴다고 생각이 들었다.(그리고 일단 점점 접근하기가 싫어지는 단점이...)
앞으로는 "2. 오늘 배운 내용"에 오늘 하루 배운 내용을 기록 할 예정이다. 단 처음에 작성할땐 브레인 스토밍으로 작성하고, 놓치거나 알지 못하는 부분은 교육 자료나 인터넷을 통해 채워 놓도록 할 예정이다.
그리고 "3. 모르겠는 내용" 에는 이해가 잘 가지 않는 부분을 적고, 그 문제와 해결 답안을 적으려고 노력해보겠다.
2. 오늘 배운 내용
(브레인 스토밍 후, 핵심 내용들을 요약해서 작성하자. 절대 복붙 X, 나만의 단어로 표현하기.)
이너클래스는 왜 필요할까? 이너클래스의 장점
- 이너클래스는 클래스(외부) 내부에서 사용되기 때문에, 외부 클래스의 멤버들을 쉽게 가져와 사용할 수 있다. (static이냐 지역이나 세부적인 부분을 떠나서)
- 관련있는 객체들을 묶어놓고 외부에서 (클래스)외부 속의 내부 클래스의 멤버들에 접근하기는 쉽지않도록 감추기때문에 캡슐화의 특징도 지니고있다.
스트림과 컬렉션은 무슨 차이가 있을까?
컬렉션
- 컬렉션은 여러 데이터들을 자료구조의 형태로 나타내는 것을 말합니다.
- 컬렉션 프레임워크가 제공하는 메서드를 통해 관리됩니다.(수정, 추가, 삭제 등)
- 배열을 사용할때 보다 훨씬 유연하게 확장 가능하고, 재사용성이 높은 소스코드를 작성할 수 있게 해준다.
스트림
- 컬렉션이나 배열의 요소를 람다식을 활용하여 요소하나하나를 처리해주는 반복자를 말합니다.
- 특정 클래스를 사용하지않는한 Read-only로 요소들을 제공하며, 중간/최종연산 과정으로 딱 한번만 사용이 가능합니다.
- 스트림은 컬렉션이 메서드를 통해 관리되는 것과 다르게 람다식을 통해 요소를 처리하고, 내부반복자를 가지고 있어 병렬처리에 유리합니다.
제너릭의 필요성과, 제너릭이 컬렉션에 사용되는 이유
제너릭
- 클래스나 메서드를 선언 할때, 특정 타입으로 선언하지 않고 타입 매개변수를 이용하여 추후에 타입을 정할 수 있도록 일반화 시킨것을 말합니다.
- 컬렉션에서 제너릭이 사용되는 이유는 만약 제너릭을 사용하지않는다면, 우리가 타입별로 해당 컬렉션을 만들어주어야하기 때문입니다. 제너릭을 통해 컬렉션을 유연하게 확장시킬 수 있고, 재사용 하기 편하게 된 것입니다.
오늘 느낀게 있는데, 결국 대부분의 Java의 기능들은 객제지향적인 코드, 즉 유연한 확장과 재사용성(코드 중복을 줄임)이 높은 코드를 작성하기 위해 만들어졌다는 생각이 들었다. 좀 더 세부적으로는 상속, 캡슐화, 다형성, 추상화등의 특징을 소스코드가 다루도록 기능들이 추가 된 것이다. 앞으로 이런 관점으로 Java나 Spring을 보면 좋을 듯 하다.
3. 모르겠는 내용
(왜 모르겠는지 차근차근 문제를 적어보고, 해결 방안을 적어봅시다.)
'(CodeStates)Daily memoir' 카테고리의 다른 글
회고록(18) - 스택 & 큐 (0) | 2022.11.21 |
---|---|
회고록(17) - 재귀 (1) | 2022.11.18 |
회고록(16) - Thread, JVM (0) | 2022.11.15 |
회고록(15) - 애노테이션, 람다, 스트림, I/O (0) | 2022.11.15 |
회고록(14) - 컬렉션 (0) | 2022.11.10 |