java3 [Java] Integer.valueOf(127)==Integer.valueOf(127)은 True? 문제점 얼마전 백준에서 문제를 풀다가 도저히 이해가 안되는 상황이 발생하였다. Integer타입을 가진 어레이 리스트를 활용해서 "==" 비교 연산을 하였다. 참조형 타입 같은 경우 "==" 연산을 할 경우 메모리 주소 값을 비교하는 것으로 알고 있다. 하지만 다음과 같은 코드를 봤을 때 조금 의문이 발생하였다. ArrayList listA = new ArrayList(); ArrayList listB = new ArrayList(); listA.add(128); listB.add(128); if (listA.get(0) == listB.get(0)) { System.out.println("True"); } else { System.out.println("False"); } 위의 코드문을 봤을 때 출력 .. 개발 일지/Java 2023. 8. 8. [신입 개발자 기술 면접] JAVA 객체지향적 프로그램이 무엇인가요? 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법입니다. 객체 지향 특징은 크게 4가지로 추상화, 캡슐화, 상속, 다형성이 있습니다. 절차지향 : 일이 진행되는 순서대로 프로그래밍 객체 지향의 특징 4가지에 대해서 설명해주세요 [추상화] 객체에서 공통된 속성과 행위를 추출하여 타입을 정의하는 과정을 의미합니다. 즉, 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단하게 만드는 것을 말합니다. [캡슐화] 필드와 메서드를 하나로 묶는 것을 의미하며 접근 제어자로 데이터 보호 및 은닉을 .. 기타/기술 면접 대비 2023. 1. 1. [JAVA] JVM 구조와 JAVA의 동작 원리 오늘은 JVM 구조와 동작 원리에 대해서 살펴보고자 한다. JVM 구조 JVM 구조는 크게 클래스 로더(Class Loader), 런타임 데이터 영역(Runtime Data Area), 실행 엔진(Execution Engine), 그리고 가비지 컬렉터(Garbage Collector)로 구성된다. 가비지 컬렉터는 이번 포스팅에서 다루기 복잡하기 때문에 추후 포스팅 하도록 하겠다. 1. 클래스 로더 클래스 로더는 JVM 내에서 자바 클래스 파일을 로딩하는 역할을 한다. JVM은 클래스 로더를 통해 필요한 클래스 파일들을 찾아 런타임 데이터 영역에 저장하게 된다. 클래스 로더는 로딩, 링크, 초기화 과정을 거치며, 클래스 파일의 검증 작업도 수행한다. 2. 런타임 데이터 영역 런타임 데이터 영역은 JVM 내.. 개발 일지/Java 2022. 1. 16. 이전 1 다음 반응형