2주차 마무리

Cloudman·2022년 11월 28일
0

항해99

목록 보기
9/10

지난 2주차 에서는 알고리즘 관련해서 많은 문제를 풀어보게 되었다...

그러면서 배우게 된 것들이 좀 많은데

https://velog.io/@tjgurtn112/2%EC%A3%BC%EC%B0%A8-%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%95%A8%EC%88%98%EB%93%A4

문제를 풀고 적은 글에서 새로 배운것은 적어 놓았으며, 그 때 배운 녀석들을 하나의 글에 묶어놓은 글의 링크...

지금 다시 바로 써라하면 일부는 가능하고 일부는 못하고 그럴듯 한데 대신 내가 쓴 글만보고 바로 사용이 가능할 정도까지는 되는듯 하다...

이후에는 자바 공부를 병행하면서 진행 중인데 자바의 클래스랑 메서드, 접근제한자, this 문.. 지금 당장 떠오르는 것만해도 머리가 상당히 복잡해진다;;

이에대한 내용들은 책을 보면서 따라치고 하는등 실습도 꾸준히 하면서 공부를 하였으나 최근 했었던(금요일) S.A 제출에서 뼈저리게 느꼇다...

하루종일 S.A 작성에 매달렸지만 결국 제대로 마무리도 못하고 제출하게 되었다.

그런데 그에 대한걸 공부하기도 전에 다른 강의도 듣고 하는 등 매일매일 하루 24시간이 부족하게 느껴지는것 같다.

회고록 WIL 키워드에 객체 지향 프로그래밍이란? 과 JVM 이라는 것이 적혀있는데 이는 이전에 공부했던 것들을 토대로 간략하게나마 다시 정리하고 이제 다시 공부하러 가야겠다.




객체지향 프로그래밍

참고링크 : https://webclub.tistory.com/155
참고링크 : https://jeong-pro.tistory.com/95

컴퓨터 프로그래밍 패러다임 중 하나로, 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말한다.
대표적으로 JAVA, C# 등이 있다.

이에대한 특징으로는...

클래스를 이용해 연관 있는 처리부분(함수)데이터 부분(변수)를 하나로 묶어 객체(인스턴스)를 생성해 사용한다.



이것을 장점과 단점으로 나열하면

장점

  • 다른사람이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있다.
  • 절차 지향처럼 코드 수정시 일일이 찾아서 할 필요가 없다.
    왜냐하면, 수정이 필요한 부분의 클래스 내부에 멤버 변수 혹은 메서드로 존재해서 해당 부분만 수정하면 된다.
  • 클래스 단위로 모듈화 해서 개발이 가능하므로 대형 프로젝트에서 업무 분담에 용이하다.

단점

  • 처리속도가 상대적으로 느린 편이다.
  • 객체가 많으면 용량이 커질 수 있다.
  • 설계시 많은 시간과 노력이 필요하다.




JVM

참고 링크 : https://doozi0316.tistory.com/entry/1%EC%A3%BC%EC%B0%A8-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80

Java Virtual Machine 의 약자
자바를 실행시키기 위한 가상 컴퓨터 정도로 생각하면 된다.
이게 자바의 큰 장점중 하나인데, 이 JVM 존재 덕분에 자바는 OS 에 종속적이지 않다는 특징이 있다.

위에서 종속적이지 않다 라고 하는 말이 무슨 의미냐면 기본 java 코드 는 CPU 가 인식을 하지 못하므로 이를 기계어로 컴파일을 해줘야 한다.

하지만 자바는 이 역할을 하는 JVM 으로 인해서 컴파일의 과정을 거치기 때문에 어떤 종류의 OS 에 상관없이 사용이 가능하다.

profile
코린이

0개의 댓글