본문 바로가기

자바23

JAVA JVM(Java Virtual Machine)의 개념, 구조, 작동과정 -컴파일된 파일을 실행하는 가상머신인 JVM(Java Virtual Machine)에 대해 알아본다. JVM이란? 컴파일러가 컴파일한 파일을 실행하는 가상 머신이다. '가상'의 머신이기 때문에 하드웨어적인 요소가 아니라 JDK에 포함된 일종의 프로그램이다. 개발자는 인간이 이해 가능한 영어로 자바 문법에 맞게 코드를 java파일로 작성한다. java파일은 컴파일러를 통해 자바 바이트코드로 작성된 class파일로 변환된다. 자바 바이트코드로 변환된 파일은 가상머신인 JVM이 해석할 수 있게 된다. 그렇기 때문에 JVM만 설치되어 있다면 어떤 운영체제(OS)에서도 실행가능하다. 기존의 C++같은 경우에는 컴파일한 파일이 OS에 종속된다. 예를 들어 리눅스기반 OS에서 개발하고 컴파일을 했다면 윈도우에서는 바.. 2021. 2. 27.
[디자인패턴]어댑터 패턴(Adapter Pattern) -디자인 패턴 중 어댑터 패턴에 대해 알아본다. 어댑터 패턴? 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환하는 패턴이다. 인터페이스 호환성이 맞지 않아 같이 사용할 수 없는 클래스를 연관 관계로 연결해서 사용할 수 있게 해주는 패턴이다. 블로그들을 보니 전기 콘센트와 플러그의 예시를 많이 든다. 한국의 가전제품은 220V이다. 110V가 표준인 일본의 제품을 한국에서 사용하기 위해서는 돼지코라는 어댑터가 필요하다. 이런 발상을 기반으로 패턴을 이해하면 도움이 될 것이다. 어댑터 패턴은 클래스방식과 객체방식이 있으며 우선 객체방식으로 예제를 만들었다. 예제 어댑터패턴을 활용한 간단한 예제를 만들어 보았다. 기존의 솔루션(OldSoultion) 이후 새로운 솔루션(NewSo.. 2021. 2. 22.
[디자인패턴]전략 패턴(Strategy Pattern) -디자인 패턴 중 전략패턴에 대해 알아본다. 전략패턴이란 전략패턴이란 특정 객체의 행위 알고리즘군을 각각 캡슐화하고 필요시에 객체지향 원칙을 위배하지 않고 교환해서 유연하게 사용할 수 있는 패턴이다. 여기서 행위 알고리즘 자체를 '전략'으로 표현하고, 이런 전략을 상황에 맞게 교체해주는 역할을 하는 클래스를 '컨텍스트'라고 표현한다. 컨텍스트는 클라이언트와 전략 사이에서 '접점'역할을 한다. 행위 알고리즘 자체는 인터페이스로 설계하고 각자 캡슐화된 행위로 구현한다. 예시 컴퓨터 백신 인스톨러 A, B가 있다고 가정하며 둘다 네이버백신을 설치하는 프로그램. 추후 요구사항이 B 인스톨러의 프로그램을 V3백신으로 바꿔달라는 요구사항이 들어온 경우 전략패턴으로 샤샤샥 바꾸는 예제 전략패턴 적용 전 예시 pack.. 2021. 2. 20.