전체 글(86)
-
자바의 스택 / 프레임 구조
자바가 실행되고 JVM 스레드 생성 시, 하나의 스레드 당 하나의 스택이 생성된다. 이 스택은 0개 이상의 프레임을 담는데, 프레임은 함수 실행 시 생성되는 변수, 연산 스택, 상수 풀 참조들을 담는다. 1. JVM 스택 공식 문서에 JVM 스택에 대해 깔끔히 정의되어 있다. 스레드가 하나 생성될 시, 그 스레드의 스택 또한 하나 생성된다. 이 스택은 프레임이란 친구를 저장하며, 자바 외 다른 일반적인 언어들의 스택과 유사한 기능을 수행한다. 그렇다면 이 프레임이란 친구는 무엇일까? 2. frames 프레임은 함수 실행 시 생성되며 데이터나 부분적인 결과값들을 저장한다. 타 언어들과 마찬가지로 함수가 실행될 때 scope가 생기는데, 프레임에선 이 scope 내의 값들을 저장한다고 보면 된다. 프레임은 ..
2021.08.13 -
객체지향의 특성
1. 추상화 2. 캡슐화 3. 상속 4. 다형성 1. 추상화 관심 대상들로부터 공통적인 기능, 특성들을 추출해 한 곳에 모은 것. 프로그래밍에서는 객체들로부터 공통의 메소드/특성을 뽑아 인터페이스/추상클래스 등으로 정의하는 것을 의미한다. 자바의 경우를 예로 들면, 인터페이스와 추상 클래스가 해당이 된다. 대표적인 인터페이스인 Collection은 (https://docs.oracle.com/javase/7/docs/api/), set, list, queue 등 여러 개의 객체를 하나의 객체에 담아 처리하는 클래스들의 공통 메서드들을 선언하였고, 해당 클래스들은 Collection의 메서드들을 구현함으로써 그에 해당하는 기능을 수행할 수 있다. 2. 캡슐화 함수 혹은 특성들을 하나의 단위로 묶어 처리하는..
2021.08.13 -
[백준] 드래곤 커브
드래곤커브 (골4, 구현/시뮬레이션) : https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net 구현 문제 중 특히 시뮬레이션 문제는 프라모델 조립하듯이 단계별로 나눠 풀면 된다. 큰 하나의 기능을 작은 세부적인 기능들로 나눈 다음, 조립해서 끼워 맞추듯 하나하나 구현한다음 합치면 된다. #include #include #include #include using namespace std; int N, map[101][101]..
2021.08.13 -
자바의 접근 제어자
자바의 접근 제어자는 총 4개. 그림 한장으로 정리 ssap가능.
2021.08.11 -
8/10 화 오늘의 하루는...
8월 초의 대구는 여전히 덥다. 확진자 또한 늘어나는 추세이다. 내 방은 구조상 더운데다가 에어컨마저 틀지 않으니, 죽을 지경이다.(아니야 더위에 강해지고 있는 중이야) 잃어버렸던 집중력이 점점 돌아오고 있다!!(2달 동안 힘들었다고...) 굳굳굳~~ 할 공부는 여전히 많다. 6 ~ 7월에 공부를 잘 못해서, 할 공부가 많이 밀리긴 했다. 괜찮괜찮 천천히 하면 돼요~ 오늘의 할 일은... 오후 타임 1. 자바의 신 1권 14 ~ 17장 복습 2. 백준 미세먼지 안녕!(https://www.acmicpc.net/problem/17144) 솔 저녁 타임 3. 접근 제어자, 상속 정리해서 블로그 올리기 4. 백준 문제 마저 풀기
2021.08.10 -
자바의 참조 변수(Reference Type)
생성된 인스턴스의 참조를 담는 변수 요약 자바는 기본적으로 byte, short, int, long, float, double, char, boolean의 8가지 원시 자료형(Primitive Type) 을 가지고 있다. 참조 자료형(참조 변수)는 이 8가지 자료형 말고 전부 다라고 생각하면 된다. 쉽게 말해, new로 객체를 생성하여 할당하는 모든 변수이다. 더 쉽게 말해, C/C++ 의 포인터 변수 역할이라고 생각하면 된다.(값의 직접적인 변경 불가) 원리 기본적으로 원시 자료형의 경우 호출한 함수 내의 scope를 전제하여 stack에 값이 담기게 된다. 예를 들어, public class PrimitiveValue { public static void main(String args[]) { int..
2021.08.10 -
배열
1. 개요 및 네이밍 2. 선언 및 초기화 3. 다차원 배열 4. API 참고 1. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html 2. https://wikidocs.net/206 3.http://tcpschool.com/java/java_array_oneDimensional 1. 개요 및 네이밍 배열 : 고정된 갯수의, 한가지 타입의 값들을 묶는 컨테이너 객체. (오라클 자바 튜토리얼 정의 : An array is a container object that holds a fixed number of values of a single type.) 배열 내의 각각 요소들을 인덱스로 접근할 수 있음. 네이밍은 ~s 로 주로 표현...
2021.08.08 -
8.5 ~ 8.14
1. 자바의 신 1, 2 권 복습 2. 자바의 신 정리해서 블로그 올리기 3. 추상화, 스택프레임 구조, GC, 디스크/메모리/CPU, string literal, equals vs == 정리 4. 구현 14문제 배열 돌리기 1 (실 3) : https://www.acmicpc.net/problem/16926 배열 돌리기 2 (실 1) : https://www.acmicpc.net/problem/16927 배열 돌리기 3 (실2) : https://www.acmicpc.net/problem/16935 봄버맨 (실 1) : https://www.acmicpc.net/problem/16918 톱니바퀴 2(실 1) : https://www.acmicpc.net/problem/15662 톱니바퀴 1 (골 5) ..
2021.08.05