2022.01.23
이번 주는 알고리즘 주차로 자바 언어로 프로그래머스에서 여러 알고리즘 문제를 풀어봤다.
알고리즘 문제 난이도는 높지 않았지만, 자바언어가 익숙치 않아 답을 구현하는데 시간이 걸렸다
실제로는 알고리즘 공부보다는 자바 기초 공부에 더 시간이 걸렸던거 같다.
자바를 공부하면서
자바가 객체지향 프로그램이라는 것과 JVM이라는 단어를 많이 듣게 되는데 이에 대해 말해 보려 한다.
객체지향프로그램이란?
자바는 객체 지향 언어이다 이 말은 프로그래밍 언어 + 객체지향개념(규칙)을 뜻한다
각각의 객체들에 역할을 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것이 객체지향프로그램이다.
객체지향개념을 공부하다 보면 클래스와 객체, 인스턴스 라는 단어가 나오는데, 단어의 표면적인 정의는 아래와 같다.
클래스 = 설계도 (객체를 정의해 놓은 것)
객체 = 실제로 존재하는 것(설계도로부터 제작된 TV, 세탁기), 모든 인스턴스를 대표하는 일반적 용어 (인스턴스와 개념 유사)
인스턴스 = 특정 클래스로부터 생성된 객체
객체는 변수와 메서드를 갖고 있으며, 우리가 객체를 쓰는 이유는 그 변수랑 메서드를 사용하기 위함이다.
(클래스와 객체 사용을 통해 우리는 서로 다른 타입의 데이터 및 함수 등을 하나로 묶어서 관리할 수 있게 된다.)
하나의 소스파일에 여러 클래스를 작성할 수 있으며, public class 클래스명 {}, class 클래스명 {} 처럼 만들 수 있다
(public class 처럼 public 가 붙은 클래스는 반드시 소스파일과 이름이 같아야 한다.)
객체 생성 방법은 클래스명이 Tv인 클래스를 예를 들면 Tv t = new Tv(); 같은 방법으로 객체를 생성할 수 있으며,
t.메서드명을 통해 Tv 클래스의 메서드를 사용할 수 있다.
JVM이란?
JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 부르는 용어이다.
이 JVM의 역할은 JAVA와 OS와 사이에서 중개자 역할을 하여 JAVA가 OS에 구애받지 않게 사용이 가능하게 해주며, 메모리 관리 및 Garbage collection등의 기능도 함께 해준다.
'항해 시절' 카테고리의 다른 글
CORS란 무엇인가 (항해 5주차 회고록) (0) | 2022.07.02 |
---|---|
ORM,SQL,MVC란 무엇인가 (항해 4주차 회고록) (0) | 2022.07.02 |
DI,IoC, Bean란 무엇인가 (항해 3주차 회고록) (0) | 2022.07.02 |
int, Integer 차이는 무엇인가 (0) | 2022.07.02 |
JWT, API 란 무엇인가 (항해5기 1주차 회고록) (0) | 2022.07.02 |