JAVA(8)
-
[JAVA] 자바를 공부해야하는 이유
많은 프로그래밍 언어 중 자바를 선택해야 하는 이유 프로그래밍을 공부하다보면 어떤 언어를 선택하여 공부해야 하는지 고민 될 때가 많다. 물론 자신에게 잘 맞는 언어를 선택하는 기준은 사람마다 다를 것이다. 취업하고 싶은 분야, 나에게 편한 언어 등등 각자의 기준이 있겠지만 만약 자신이 아직 명확하게 선택하지 못했다면 나는 'JAVA'를 추천한다. 우선, 자바라는 언어에 대해서 간단하게 알아보자!! 1) 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용한다. 2) 객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다. 3) 프로그램이 안정적이고 풍부한 기능을 제공하는 오픈 소스이다. 사실 위에 있는 이유들은 많은 객체지향언어에 대표적인 특징들이다. 이제 내가 생각하는 자바의 장점들에 대해서 몇 가지 ..
2023.02.06 -
[JAVA] 자바의 메모리 사용
자바의 메모리 사용 자바를 사용하여 프로그램을 만들다보면 우리가 만든 프로그램이 컴퓨터 메모리에 어떻게 접근하는 공부해야하는 시기가 온다. 그러면 아래에서 우리 프로그램에 메모리에 어떻게 접근하는지 한번 알아보자!! JAVA 메모리 자바에서 작성한 프로그램이 메모리에 어떻게 적재되는지에 대한 간단한 그림이다. 1. 실행과정 *.java(Source)를 javac로 컴파일하여 *.class(Byte Code)로 실행파일을 만들면 Class Loader가 JVM의 메모리 영역 Runtime Data Area로 로딩시킨다. 2. Runtime Data Area 1) 메소드/스태틱 영역(Method/Static Area) JVM이 시작될 때 생성되는 공간으로 바이트코드가 이 영역에 저장된다. 클래스 정보, 변수..
2023.02.06 -
[JAVA] 자바가 내 컴퓨터에서 작동할 수 있는 이유 (JDK, JRE, JVM)
자바가 내 컴퓨터에서 작동하는 이유 우리는 항상 코딩을 해오면서 항상 무심코 넘어가는 부분들이 있다.. 바로 내 컴퓨터가 어떻게 'JAVA'라는 언어를 이해하고 내가 작성한 코드를 실행하는지에 대해서다. 우리는 단순히 인터넷에 'JAVA'를 검색하고 설치한다! 그렇다면 무엇을 내 컴퓨터에 설치하고 그것이 내 컴퓨터가 그 언어를 이해하게 해주는 것일까? 바로 알아보자!!! 1. JAVA JDK 위 사진에는 3가지의 구분선으로 구분된 것들을 볼 수 있다. 우리는 'JAVA'라는 언어를 내 컴퓨터가 이해 할 수 있게 'JAVA JDK'를 설치한다. Java JDK(Java Development Kit)는 Java SE의 표준안에 따라 만들어진 구체적인 소프트웨어로 컴파일러와 같은 개발에 필요한 각종 도구와 J..
2023.02.06 -
[JAVA] 인텔리제이 커뮤니티(IntelliJ Community)에서 스프링부트(SpringBoot) 간단하게 만드는 방법
인텔리제이(IntelliJ)에서 스프링부트 만들기 인텔리제이(IntelliJ IDEA) Community IDE (통합 개발 환경) 안에서는 스프링부트 프로젝트를 한번에 생성할 수 없다... 무료버전이기 때문에 약간의 귀찮음을 감수해야 한다... 그렇다면 우리는 어떻게 스프링부트 프로젝트를 생성할 수 있을까?? 그 방법은 바로 자바스프링에서 제공하는 사이트를 이용하는 것이다!!! 홈페이지 : https://start.spring.io/ 위 사이트에 들어가서 자신의 프로젝트에 필요한 기본 설정들을 설정하고 프로젝트를 생성하여 인텔리제이로 해당 프로젝트를 실행하면 된다. 일반적인 자바 스프링부트 프로젝트의 기본설정 세팅이 궁금하다면 아래의 '김영한'님의 유튜브 영상을 추천한다!!! https://www.yo..
2023.01.24 -
[JAVA] 자바 스프링(Java Spring)와 자바 스프링부트(Java SpringBoot)의 차이점
자바를 공부하는 사람들이 자주 듣는 단어들이 있다. 자바 스프링과 자바 스프링부트이다. 위 두 가지의 차이점은 무엇일까??? 먼저 간단하게 설명하자면, 자바 스프링 (Java Spring) : 큰 규모의 프로그램을 개발자들이 더욱 쉽게 만들수 있도록 있게 여러가지 기능들을 넣어놓은 뼈대(프레임워크) 자바 스프링부트(Java SpringBoot) : 위에서 말하는 뼈대(프레임워크)를 개발자들이 더 쉽게 사용할 수 있도록 만든 도구라고 생각하면 쉽다. 이제 조금 더 자세한 설명을 위해 아래로 이동해보자!!! 자바 스프링(Java Spring) 위 이미지에서 보면 자바 스프링에는 아주 다양한 프로젝트들이 존재한다. 몇 개의 프로젝트를 보면, Spring MVC : MVC 패턴 기반의 웹 프레임워크을 지원하는 ..
2023.01.24 -
[JAVA] 템플릿 엔진에 대한 설명과 JSP, Thymeleaf과의 관계
템플릿 엔진(Template Engine) 템플릿 엔진은 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어이다. (웹사이트 화면을 어떤 형태로 만들지 도와주는 양식) 웹 템플릿 엔진은 view code(HTML)와 data logic code(DB connection)을 분리해주는 기능을 가지고 있다. 이제 템플릿 엔진의 종류를 알아보자!!! 템플릿 엔진의 종류 템플릿 엔진은 서버 사이드 템플릿 엔진과 클라이언트 사이드 템플릿 엔진으로 나눌 수 있다. 1. 서버 사이드 템플릿 엔진 (Server Side Template Engine) 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 Template에 넣어 Html을 그려서 클라이언트에 전달해주는 역할 HTMl 코드에서 고..
2023.01.24