본문 바로가기

전체 글12

왜 객체지향을 써야하는 것일까?(feat. 앨런 케이) 처음에 객체지향이라는 것을 배웠을 때에는 객체가 무엇인지, 클래스가 무엇인지, 캡슐화, 상속, 다형성 이러한 개념에 대해서만 배웠던것 같다. 학교에서 "객체지향 프로그래밍"이라는 수업도 들었는데, 사실 아직까지도 이 객체지향이라는 개념이 잘 와닿지 않는것 같다. 아마 나 말고도 많은 사람들이 이 개념이 중요하다는 것은 알지만 아직까지 잘 이해가 가지 않는 사람이 많을 것이다. 하지만 지금은 먼저 이 복잡하고 거대한 객체지향이라는 산에 오르기 전에 왜 이 객체지향을 사용하고, 또 우리가 왜 배워야 하는지 살펴보자. 객체지향 프로그래밍이라는 것이 어떤 배경에서 생겨났고, 현재 이 객체지향 프로그래밍을 왜 사용하는지를 알게 된다면 앞으로 객체지향 이라는 개념을 이해하고, 또 사용하는데 큰 도움이 될 것이다. .. 2023. 8. 21.
JVM 구조 먼저 자바 가상 머신 JVM의 역할은 자바 바이트코드(.class)를 읽어서 실행하는 것이다. JVM을 통해 플랫폼에 상관없이 컴파일된 바이트 코드를 실행할 수 있다. 여기서는 전체적인 내용을 살펴보겠다. 각각에 대한 자세한 내용은 모두 따로 정리하자! 그리고 Java 8 이후에 구조가 바뀐 부분들이 있고, 또한 벤더에 따라 구조에 차이가 있기도 하니 전체적인 개념만 잡고가는 느낌으로 가자. 다음은 JVM의 동작 방식을 간단하게 나타낸 것이다. 먼저 소스파일(.java)를 javac 컴파일러로 컴파일 해서 바이트코드(.class) 파일을 얻는다. 그후 자바 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당받는다. 프로그램을 실행시키는데 필요한 메모리를 할당받는 것이다. 그러면 클래스 로더를 통해 이 .. 2023. 8. 8.
소프트 복수전공에 대한 지난 3학기 회고 첫 회고개발자가 되기 위해 공부를 시작한지 1년 반이나 지났는데 이제서야 첫 회고를 진행해 본다. 1년 반 동안 적은 글이 달랑 하나라니,, 앞으로는 삶을 돌아보는 시간도 더 가지고, 블로그에 글도 자주 올려야겠다고 반성하게 된다.지난 3학기의 결과군대를 다녀온 후 개발자로 진로를 틀게 되면서 소프트웨어학부 복수전공을 시작하게 되었다. 복수전공으로 인해 채워야 할 전공학점이 108학점(소프트 54 + 전자융합 54)이 되면서 전공을 6-7개씩 듣다보니 매학기를 미친듯이 보냈던것 같은데, 여기에 기독교 동아리까지 하니 늘 시간이 부족했던것 같다. 그렇게 정신없이 보내다보니 어느덧 3학기가 모두 지나갔다. 방금 이번학기에 대한 성적이 모두 나왔는데 소프트 관련 과목은 거의 대부분이 A+이 나온 것을 보고 정.. 2023. 6. 28.
이 블로그의 방향성 개발자를 진로로 삼은지 벌써 1년정도 지났다. 군대에 다녀와서 진로에 대해 계속 고민하다가 개발자가 되기로 결심했고, 전자융합공학과 + 소프트웨어학부로 복수 전공을 하면서 열심히 달려나가고 있다. 개발 블로그를 어떻게 운영하지? 그런 과정 가운데 개발 블로그를 어떻게 운영해야 할지 고민이 많았다. 책이나 강의 등을 통해 공부한 내용들을 그저 정리하는 용도로 블로그를 운영할까 했지만, 그러면 그저 책이나 강의에 대한 요약본에 그칠것 같아 그만두기로 했다. 무언가 질보다는 양이 될것 같은 느낌이었다. 그래서 공부 내용을 단순히 정리하기만 하는 것은 개인 노트를 활용하기로 했다. 대신 이곳에는 질 좋은 학습 내용을 정리해서 이 올려야 겠다고 생각했다. 또한 이 블로그에는 내가 경험한 것들에 대해 적기로 결정했.. 2023. 3. 18.