오늘은 WIL ~
이번주는 프로그래밍 기초 1 + 프로그래밍 기초 2 챕터가 진행되었다.
일단 프로그래밍 기초 1 은 정말 기초적이지만 기본이라고 무시했다간 나중에 큰 코 다치는 ~ 내용들에 대해 배웠다.
* 객체지향프로그래밍(OOP)?
자바를 공부하면 빼놓을 수 없는 핵심적인 개념이다. 처음엔 완전히 이해하기 힘들었는데 어느새 자연스럽게 익숙해졌다.
프로그래밍에서 필요한 데이터들을 추상화시켜서 상태와 행위를 가진 객체로 만들고 그 객체들간의 상호작용을 통해 논리적인 구조를 구성하는 방법이다.
내가 만약 '사람'을 객체로 만든다고 하면?
사람들을 구분하기 위해 이름, 나이, 성별을 기본적으로 물어볼 것이다. 그리고 사람이 할 수 있는 기본적인 행동들을 파악할 것이다. 예를들어 밥먹는다, 웃는다, 인사한다.. 등? 이걸 코드로 풀어보면?
class Person {
String 이름;
int 나이;
String 성별;
void 밥먹는다 {}
void 웃는다() {}
void 인사한다() {}
}
이런식으로 사람이라는 객체를 만들 수 있다. 사람이라는 객체를 여러개 만들어서 그들끼리 상호작용하도록 만들어 준다면 그것이 바로 객체지향프로그래밍의 일환이라고 볼 수 있다.
객체지향프로그래밍은 추상화/상속/다형성/캡슐화라는 특징을 가지는데 난 "추상화"에 대해 느낌이 제대로 온적이 없었다. 추상적이다.. 라는건 구체적이지 않다는 의미인데, 난 person 객체를 만들때 person에 대해 구체적으로 특징을 나열한다고 생각했기 때문에 반대로 이해가 되어 도대체 왜? 추상화???라는 의문을 항상 품고 있었다.
근데 이게, 상속과 함께 생각해보면 이해가 되더라.
철수와 영희는 각자 고유의 성격을 가지고 있다. 이 아이들을 사람이라는 분류로 묶고 싶은데, 둘의 공통점이라는게 이름, 나이, 성별을 가지고 있고 밥을 먹고, 웃기도 하고 인사도 한다는 거였다. 그래서 위에 제시한 코드처럼 person이라는 객체를 부모 클래스로 만들어 추상화, 그러니까 철수와 영희에 대한 구체적인 특성들을 배제하고 둘의 공통적인 부분만 모아서 추상적으로 만들어주면? 철수, 영희 뿐만 아니라 영수도 만들어 줄 수 있는거다. 그래서 객체지향이 추상화라는 특징을 가지고 있다는거였는데, 처음엔 이 부분이 익숙하지 않아 힘들었지만 조금씩 명확해지고 있어 뿌듯하다.
* JVM..
JVM은 정말 할 얘기가 많다. 특징이 너무 많고 새로 알게 된 점도 많아서 다시 한 번 정리할 시간이 필요하다. 새로운 글로 만들어보아야겠다.
1주차 회고
아마, 내가 항해에 들어오기 전에 공부하며 성장한 것 보다 온보딩 + 이번 1주에 성장한 폭이 더 클 것 같다. 하루에 13여시간동안 컴퓨터 앞에 앉아 계속해서 자바에 대해 공부하고 알고리즘 문제풀고.. 성장하지 않을 수가 없는 환경이 제공되었다. 스스로 성취감도 많이 느꼈고 공부를 하다가 예전에 명확하게 이해가 되지 않았던게 하나 둘 이해가 되기 시작하니까 심지어 재미있었다! 이렇게 나만의 속도를 맞추어서 꾸준히 하다보면 나도 정말 개발자가 될 수 있을 것 같다.
조금 아쉬웠던건 아직 나의 생활패턴이 완전히 돌아오지 않았다는것? 이건 항해를 진행하면서 자연스럽게 변할 문제라 큰 걱정하지 않기로 했다 ~
전에 혼자 공부할 때보다 함께하는 동료들이 있어서 더 재미있기도 하고 마음도 편하고! 난 지금 내 방에서 나가지 않지만 이 작은 공간에서 넓은 세계를 경험하고 있는 것 같고 신기한 시간들이 흐르고 있다 ㅎㅎ 첫 단추를 잘 잠궜으니 이제 잘 될 일만 남았다고 생각하려고 !!!!😆😆😆😆😆
'T.I.L. :: Today I Learned > 항해99 14기 본과정' 카테고리의 다른 글
Day 9. 모르는 내용이 점점 많아진다. 오히려 좋?아? (0) | 2023.04.11 |
---|---|
Day 8. Today I Learned? ㄴㄴ, Today I Algorithmed? ㅇㅇ (0) | 2023.04.10 |
Day 6. 알고리즘 척척 풀어봤으면 소원이 없겠는 하루 (0) | 2023.04.08 |
Day 5. 왜 그런 날 있잖아요 내가 뭘 했는지 모르겠는? (0) | 2023.04.07 |
Day 4. 강의를 듣고 듣고 또 들어요 (0) | 2023.04.06 |