본문 바로가기

Study/JAVA

(9)
Java 기술면접 준비 컴포넌트 vs 모듈 -> 컴포넌트 : 런타임 개체를 참조하는 단위로, 실제적으로 동작하는 개체 -> 모듈 : 가장 상위에 위치한 구현의 단위로, 실질적으로 구현이 된 단위 자바란? : 객체지향 프로그래밍 언어로써, 운영체제에 독립적이고, 자바를 실행하기 위한 가상 머신인 JVM이 있기 때문에 운영체제 종류에 관계없이 실행이 가능함 OOP [ 객체 지향 프로그래밍 | Object Oriented Programming ] : 오브젝트를 기준으로 코드를 나누어 구현하는 프로그래밍 방법 -> 특징 1. 코드 재사용성이 높다. 2. 코드의 변경이 편하다. 3. 직관적인 코드 분석이 가능하다. 4. 개발 속도가 향상된다. 5. 상속을 통한 장점이 극대화된다. 가비지 컬렉션 : 시스템에서 더 이상 사용하지 않는 동적..
Range-based for -> 무조건 범위 전체를 탐색하는 for-loop 반복문임 기본적인 range-based for 문법 public class Main{ public static void main(String[] args){ int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum = 0; for(int x : a) { //'a' 주소로 가서 모든 데이터를 하나씩 끄집어 내어 'x'에 담으면서 전개됨 System.out.print(x + ","); sum += x; } System.out.format("\nsum = " + sum); } } import java.util.Arrays; public class Main{ public static void main(String[] args){..
var var : variable, '가변적인' -> 변수 - 주의할 부분은 - 변수는 값이 할당되는 공간이고, 변수의 타입에 따라 공간의 크기를 결정하게 되는데, - 'var'는 그 공간을 얼만큼 만들어야 하는지를 '자동'으로 정하겠다는 의미이기 때문에 - 선언과 함께 값이 할당되지 않으면 그 공간을 자동으로 만들기가 불가능함 - 그렇기때문에, 'var'로 선언되는 변수는 반드시 값의 초기화가 이루어져야 함
bit operator -> 위의 그림과 같이 10진수의 수를 2진수로 표현하면 각각의 숫자들이 '0'과 '1'로 구성된 수로 변환됨 비트(bit) -> '0'과 '1'로 구성된 하나의 자리 바이트(byte) -> 8개의 bit가 모여서 '1'개의 바이트가 됨 논리 연산자 - AND -> && - OR -> || 비트 연산자 - AND -> & - OR -> | - XOR -> ^ public class Main{ public static void main(String[] args){ int a = 183, b = 210; System.out.format("%d & %d = %d\n", a, b, a & b); System.out.format("%d | %d = %d\n", a, b, a | b); System.out.form..
2-D Array 2차원 배열에서 1차원까지의 값은 '레퍼런스 변수'임을 명심!! - 배열명 뿐만 아니라 1차원 인덱스까지 주소 참조변수로 활용됨 int a[3][4] -> 주소의 값을 담고 있는 레퍼런스 변수는 4개이다. -> a, a[0], a[1], a[2] -> 일반적인 값을 담을 수 있는 변수는 12개. a[0][0] ~ a[2][3] int [row][col] a; -> a.length : row의 값 -> a[n].length: column의 값 public class Main{ public static void main(String[] args){ char a[] = {'*', '*', '*'}; //배열 데이터 초기화를 '중괄호()'만으로도 구성할 수 있음 char[] b = {'.', '.', '.'};..
1 - D Array 1차원 배열에서는 배열명까지만 참조변수로 활용됨 즉, 'a'는 참조변수이다. - 참조변수이기 때문에 특정 주소에 관련된 값이 담겨져 있음 null int[ ] a = null; null reference, null pointer은 참조 변수를 초기화할 때 사용됨 - 참조 변수는 메모리 상의 임의의 지점을 가리킨다고 볼 수 있음 - 즉, 메모리 상에서 참조 변수 안에 있는 값 (위치값)으로 이동 할 수 있음 - 그런데, 참조 변수 값이 null이면, - '어디로 가면돼?' 라고 했을 때, '몰라'와 하는 것과 같다. - 즉, 이동할 주소값이 없다는 것이다. - hash code의 값은 0을 가진다. 1-D Array 참조 변수의 표현 - 기본적인 선언 int[ ] a; 또는 int b[ ]; ---- in..
Array(2) Call by value (swap : 교환하다. 2개의 값을 교환시키는 함수) public class Main{ static void swap(int n, int m){ int temp = n; n = m; m = temp; } public static void main(String[] args){ int a = 10, b = 20; System.out.format("before: a = %d, b = %d\n", a, b); swap(a, b); //a, b의 값만 전달됨 - call by value System.out.format("after : a = %d, b = %d\n", a, b); } } -> swap함수를 이용하여 2개의 값을 교환시키도록 구성하였는데, 값이 교환되지 않음 before:..
Array(1) short a[] = new short[6]; //short 덩어리 6개를 연속해서 만듦 int[] b = new int[3]; //int 덩어리 3개를 연속해서 만듦 Reference System.identityHashCode() : 메모리 상에 존재하는 객체의 hash code 값을 반환 public class Main{ static void print(int[] a){ for(int i = 0; i < 5; i++){ System.out.println(a[i] + ","); }System.out.println(); } //System.identityHashCode //: 메모리 상에 존재하는 개체의 hash code 값 반환 //메모리 상에서 위치 값을 가지고 있는 개체에 대한 hash code 값..