본문 바로가기

Java2

Java enum 활용기(enum에서의 다형성) 이 글은 enum의 기본적인 문법에 대해서는 다루지 않습니다! 해당 내용은 인터넷이나 책에 너무나도 잘 소개되어 있기 때문에, 만약 enum에 대해 잘 모르신다면 한번 보고 오셔도 좋을 것 같습니다 :) 우테코 프리코스 중 로또 미션을 진행하면서 다음과 같은 요구 사항을 만날 수 있었다. 먼저 해당 요구 사항을 보고, 로또 당첨 결과를 enum으로 만들면 좋을 것 같다고 생각하였다. (실제로도 코드 리뷰를 하다보면 많은 분들이 이와 같이 구현하셨다.) 관련된 데이터들과 로직을 하나의 상수로 묶을 수 있기 때문에 많은 분들이 enum을 활용 하셨을 것이라 생각한다. 따라서 나도 다음과 같이 enum으로 로또 당첨 결과를 관리하였다. public enum WinningResult { FIRST(6, fals.. 2023. 11. 10.
JVM 구조 먼저 자바 가상 머신 JVM의 역할은 자바 바이트코드(.class)를 읽어서 실행하는 것이다. JVM을 통해 플랫폼에 상관없이 컴파일된 바이트 코드를 실행할 수 있다. 여기서는 전체적인 내용을 살펴보겠다. 각각에 대한 자세한 내용은 모두 따로 정리하자! 그리고 Java 8 이후에 구조가 바뀐 부분들이 있고, 또한 벤더에 따라 구조에 차이가 있기도 하니 전체적인 개념만 잡고가는 느낌으로 가자. 다음은 JVM의 동작 방식을 간단하게 나타낸 것이다. 먼저 소스파일(.java)를 javac 컴파일러로 컴파일 해서 바이트코드(.class) 파일을 얻는다. 그후 자바 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당받는다. 프로그램을 실행시키는데 필요한 메모리를 할당받는 것이다. 그러면 클래스 로더를 통해 이 .. 2023. 8. 8.