본문 바로가기

분류 전체보기

(77)
접근제어자(modifier) modifier란 클래스나 클래스멤버를 선언 시에 부가적인 의미를 부여해 주는 키워드이다. modifier의 기본적인 종류에는 private, publide, default, protected가 있다. 1. public public은 접근에 제한을 두지 않는다는 의미이다. 멤버변수와 class에 모두 붙일 수 있으며 어디에서든지 접근이 가능하다. 2. default default는 public과 마찬가지로 class와 멤버변수에 모두 붙일 수 있으며 같은 패키지 내에서 접근이 가능하다. 3. protected protected는 멤버변수에만 붙일 수 있으며 같은 패키지 + 상속받은 class에서 사용이 가능하다. 4. private private는 멤버변수에만 붙일 수 있으며 class내부에서만 접근이 ..
메모리구조(stack, heap, method area) Runtime Data Areas는 JVM이 OS로부터 받아온 메모리 영역을 의미한다. Runtime Data Areas는 크게 3가지의 영역으로 나누어지게 된다. 1. Method Area 2. Stack 3. Heap method Area method Area는 클래스에 대한 정보(필드, 메서드정보, 타입에 대한 정보)가 저장되며 static변수, 메서드의 바이트 코드 등을 저장한다. method Area안에 있는 RunTime Constant Pool에는 클래스와 인터페이스에 대한 모든 constant 정보가 들어있으며 type, file, method에 대한 Symbolic reference정보가 있다. stack 스택에는 메서드가 실행될 때마다 stack frame이 생성된다. stack fra..
원형 큐 원형 큐를 배열로 구현하는 방법 front = 가장 먼저 들어온 원소 = 가장 먼저 삭제될 원소 rear = 가장 마지막에 들어온 원소 = 가장 마지막에 삭제될 원소 구조를 배열로 생성한 다음 (rear+1)%maxsize에 원소를 추가한다. rear++이 아니라 mod 연산을 이용하는 이유는 rear의 범위가 자연스럽게 0 ~ maxsize-1가 되어 index를 벗어나지 않고 자연스럽게 순환하는 구조가 만들어진다. Code #include #define MAX 10 int arr[MAX] = { 0 }; int front = -1; // 가장 먼저 들어온 데이터 int rear = -1;// 가장 마지막에 들어온 데이터 void enqueue(int data); void dequeue(); void ..
가변배열, 가변인자 자바에서의 다차원 배열은 배열을 참조하는 참조변수의 배열을 참조변수가 가리키는 방식이다. 코드로 보면 이해가 쉽다. package test; import java.util.Arrays; public class Test { private static final int COLUMN = 5; private static final int ROW = 3; static int num = 0; public static void main(String[] args) { // 가변배열 생성 String[][] a = new String[ROW][]; for (int i = 0; i < a.length; i++) { a[i] = new String[COLUMN - i] ; for (int j = 0; j < a[i].len..