Java(6)
-
[Java] Java와 JVM
[Java] Java와 JVM Java를 사용을 하면서 Java가 어떻게 코드를 인식하고 실행하는지에 대해 학습하는 시간을 가지게 되었다. 해당 글은 그 내용들을 정리하면서 작성하게 되었다. 프로그래밍 언어 프로그래밍 언어 - 컴퓨터가 실행할 프로그램을 작성하는 언어이다. 이때 CPU는 기계어 - 이진수(binary code)인 0과 1만 이해가 가능하다. 그렇지만 사람이 기계어로 직접 프로그램을 작성하는 것은 어려운 일이기에 기계어를 ADD / SUB / MOVE 등의 상징적인 기호로 1대 1 대응을 한 어셈블리어가 등장하게 된다. 다만 이 어셈블리어 또한 사람이 직접 다루기는 어렵기에 C / C++ / Java 등의 이해하고 표현하기 쉬운 언어가 등장하게 되는데 이러한 언어를 고급 언어라고 한다. 이..
2022.11.30 -
[Design pattern] 디자인 패턴이란?
디자인 패턴 건축학 or 컴퓨터 과학에서 사용되는 용어, 설계 문제에 대한 해답을 문서화하기 위해 고안된 방식이다. 이 중에서 공부하면서 정리할 부분은 바로 소프트웨어 개발에서 말하는 디자인 패턴을 공부하고 기록할 예정이다 https://terms.naver.com/entry.naver?docId=3532958&cid=58528&categoryId=58528 Gof 디자인 패턴 대부분 그렇지만 소프트웨어를 설계할 때도 경험만큼 확실한 것은 없다. 그러나 모든 사람이 숙련된 설계 경험자일 수는 없다. 그렇다면 경험이 적은 사람들이 설계를 잘할 수 있는 방법은 없을 terms.naver.com 디자인 패턴 위키 - 소프트웨어 디자인 패턴 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 소프트..
2022.10.03 -
[Spring-Thymeleaf] Thymeleaf - 타임리프(1)
타임리프란? SSR - 서버 사이드 렌더링 더보기 JSP / Servlet 등과 같이 서버사이드 렌더링 기술이다. SSR을 사용 시 데이터가 매핑이 된 서비스 페이지를 클라이언트(브라우저)에게 바로 보여줄 수 있다. 이는 기존의 프런트엔드의 React 혹은 다른 기술을 사용해서 보여줄 수 있지만 그렇게 하면서 개발을 하기에는 다시 프런트의 기술에 대해 세세하게 공부를 해야 한다. 우리가 필요한 것은 백엔드를 개발하면서 우리가 필요한 부분을 간략하게 보여주는 것을 원한다. 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 해주는 용도로 사용이 된다. 내추럴 템플릿 더보기 순수 HTML을 유지하는 특성을 가지고 있다. 타임리프를 활용하여 작성된 파일은 HTML을 유지하기에 스프링으로 서버를 실행하지 않아..
2022.08.07 -
[Java] static 개념 및 정리
김영한 강사님의 스프링 강의의 싱글톤 부분을 듣던 도중 static에 대한 지식이 부족해서 공부하면서 적어보려고 한다. 기본을 채우기 위해 공부하며 채워 넣고자 한다. static이란? public static void main(String [] args){} 우리가 자바를 시작하면 바로 처음 보는 코드이다. 사전적 의미의 static은 (변화 움직임 없이) 고정된, 고정적인 이라는 뜻을 가지고 있다. 그럼 java에서 static이란 무엇일까? 클래스, 메서드, 필드명에서 보이는 이 static은 해당 대상을 객체를 만들 때마다 생성이 되고 사용이 되는 것이 아닌 클래스, 즉 설계도에만 지정된 상태로 만들어 준다. 따라서 해당 클래스에서 static으로 지정된 자원은 객체의 생성에 따라 무한정 생성이 ..
2022.06.26 -
[Spring] AOP 개념 및 정리
[Spring] AOP 개념 및 정리 스터디를 진행하면서 배운 AOP에 대해 정리하고자한다. 추후에 Spring 고급편을 진행하면서 배우게 되는 심화 내용은 따로 정리할 예정이다. 지금 내용은 Spring에 대해 전반적인 내용을 다루는 기본편 강의에서 좀 더 알아보고자 정리했던 내용을 적으려고 한다. AOP - Aspect Oriented Programming 관점 지향 프로그래밍이라고 한다. 관점 지향 프로그래밍의 경우 공통 관심사항과 핵심 관심사항을 분리하여 프로그래밍을 하는것을 말한다. 예시(접은 글)에서 나온 시간 측정 로직을 공통 관심사항이라 하자. 그리고 나머지 역할을 핵심 관심사항이라 하자. 더보기 공통 관심 사항이 구현체 내부로 들어갔는지 안들어갔는지의 유무로 나뉘어지는데 외부에서 따로 주..
2022.06.05 -
[Java] 자바의 추상 클래스 & 인터페이스 정리 / 상속
[Java] 자바의 추상 클래스 & 인터페이스 정리 Spring을 공부하며 추상 클래스(abstract class), 그리고 인터페이스(interface)의 차이에 대해 확실하게 정리하려고 적게 되었다. 두 개의 개념 모두 상속받는 클래스, 구현하고자 하는 인터페이스 내부의 정의된 메서드를 구현하는 것을 요구한다. 그렇지만 두 개의 개념은 명확히 다형성의 부분에서 차이점이 존재한다. 추상 클래스(abstract class) 추상 클래스는 상속에서 슈퍼 클래스로 사용이 된다. abstract로 선언이 된다. 슈퍼 클래스로만 사용이 된다. 추상 클래스의 경우 내부적으로 미완성의 메서드가 존재할 수 있기에 객체의 생성이 불가능하다. 상속을 받은 서브 클래스는 반드시 추상 클래스 내부에서 선언된 모든 추상 메서..
2022.03.29