분류 전체보기 381

객체 생성 시 인스턴스 메서드는 힙 영역에 없다?

스태틱 영역에 존재하는 인스턴스 메서드 자바에서 new 연산자로 생성된 모든 객체는 JVM 내 단 하나의 힙(Heap)이라는 메모리 영역에 저장되어 모든 스레드가 이를 공유한다. 객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며, 이러한 속성과 기능을 그 객체의 멤버라고 한다. 이때 객체 생성자를 통해 객체를 생성하면 클래스에 정의된 속성(인스턴스 변수)과 기능(인스턴스 메서드)이 모두 해당 객체와 함께 힙에 생성되었을 것이라고 생각했었다. 하지만 놀랍게도 인스턴스 변수는 힙 영역(해당 객체 내)에 존재하지만 인스턴스 메서드는 힙 영역에 존재하지 않고 스태틱 영역에 단 하나만 존재한다. 어떻게 이런 일이 일어날 수 있는 것인가? 변수와 달리 메서드는 변하지 않는다. 우선 변수의 특징은 애플리케이..

Technology/Java 2022.03.20

[백준 - 14502] 연구소 - Java

문제 설명 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 회고 제가 해당 문제를 풀기 위한 접근 방법은 다음과 같았습니다. 주어진 2차원 배열에 대해 임의의 3개의 벽 세우기 바이러스 확산시키기 안전 영역 크기 구하기(기존 값과 대소 비교 후 더 큰 값 할당) 변경된 2차원 배열 초기화하기 1번으로 돌아가 다시 임의의 3개의 벽 세우기(기존 3개의 벽과 완전히 중복되지 않는 3개의 벽) 위 단계에서 제가 가장 구현하기 까다로웠던 부분은 "임의의 3개의 벽을 세우는 것"이었습니다. 사실 DFS나 BFS를 통해 임의의 ..

Algorithm/BOJ 2022.03.20

2022 마스터즈 코스(백엔드) 50일차 회고(2022. 3. 18.) - "길면 길고 짧으면 짧았던 지난 50일"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 오늘로 벌써 마스터즈 코스 과정을 시작한지 50일차가 되었다. 주변 지인들에게도 간간이 나의 소식을 마스터즈 코스 일일 회고 등을 통해 전해드리곤 하는데, 다들 벌써 부트 캠프(코드스쿼드 마스터즈 코스 과정)를 시작한지 50일이나 됐냐고들 한다. 사실 내가 느끼기에는 지난 50일(10주차)은 길면 길었고 짧으면 짧았던 시간이었던 것 같다. 1주차 때부터 10주차 때까지 계절이 바뀌는지도 모르고 하루하루 그리고 일주일이 정말 빠르게 지나갔었다. 그만큼 프로그래밍 학습에 몰입하고 있었던 것인데, 이번에 마스터즈 코스 과정을 수강하면서 역시 공부에는 "환경"이 정말 중요..

[프로그래머스] H-Index - Java

문제 설명 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 풀이 회고 우선 해당 문제는 문제를 잘못 이해함으로 인해 삽질하는 시간이 많았습니다. 문제에서 요구하는 것은 "논문 n편 중, h번 이상 인용된 논문이 h편 이상일 때 h의 최대값"을 구하는 것입니다. 이때 h라는 수의 범위는 무엇일까요? 저는 처음에 이 문제의 h라는 수가 매개변수(citations)로 주어진 배열에 존재하는 정수 중에 존재한다고 착각하고 있었습니다. 하지만 이에 대한 풀이를 확실하게 구해도 정답이 나..

2022 마스터즈 코스(백엔드) 49일차 회고(2022. 3. 17.) - "봄 기운에 맞서 프로그래밍하기"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 대학 시절 매년 이 시기 즈음 되면 봄의 기운이 느껴져 항상 기분이 좋아지곤 했지만 매번 중간고사 일정과 겹쳐 기분이 마냥 좋지만은 않았던 기억이 있다. 놀랍게도 요즘 마스터즈 코스 과정 중에서도 그 당시 때와 동일한 상황이다. 굉장히 추웠었던 겨울이 지나가고 서서히 기온이 올라가면서 날씨가 따뜻해지니 어디라도 놀러가고 싶은 심정이기 때문이다. 하지만 마스터즈 코스 중에 있는 지금 시간이 갈수록 "당장 해야 할 일"과 "앞으로 해야 할 일"이 동시에 늘어나고 있는 실정이다. 때문에 적당히 쉬는 것은 중요하지만 또 과하게 놀 수는 없는 노릇이기도 하다. 아울러 마스터..