본문 바로가기

언어13

[Java] 컬랙션 프레임워크 커스텀 정렬 자바 Collection Framework 정렬하기 객체에 Comparable 인터페이스 상속받아 정렬 사용자가 정의한 객체에서 Comparable 인터페이스를 상속받 compareTo 메서드를 구현함으로써 사용자가 정의하는 정렬 기준을 정할 수 있다. 아래의 예시에서는 두개의 int 필드를 갖는 객체가 number1을 우선 기준으로 정렬한뒤 number2를 기준으로 정렬하는 형태로 정의하였다. 사용할 객체​ class myObject implements Comparable { String name; int number1; int number2;​ public myObject(String name, int number1, int number2) { this.name = name; this.number1 .. 2020. 9. 18.
[Java] JVM 메모리 구조 (JVM Memory Structure) JVM 이란 Java Virtual Machine, 자바 가상 머신의 약자를 떠서 줄여 부르는 용어이다. JVM 의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행한다. 또한 JVM은 Java 와 OS사이에서 중개자 역할을 수행하여 Java 가 OS에 구애받지 않고 재사용을 가능하게 해준다. JVM 메모리 구조는 크게 4개로 나뉘어 져잇다. 1. Method Area (Class Area) 해당영역은 JVM이 시작될 때 생성(Class Loader)되며, JVM에 의해 loading 된 클래스들이 저장된다. 클래스에서 구현한 메소드들과 상수들 (Constant Pool)을 저장한다. 또한 static 변수 또한 해당 메모리에 저장된다. 해당 변수들은 프로그램 종료까지 메.. 2020. 8. 4.
[Java] == 연산자와 equals() 매서드의 차이 두 값 비교하기 Java 언어에서 두 변수의 값을 비교할 때 '==' 연산자를 이용한다. == 연산자는 Primitive value의 경우 두 변수의 값을 비교하게 된다. Java 에서 Primitive value는 다음과 같이 8가지 종류가 존재한다. byte 8bits -2^7 ~ 2^7-1 (-128 ~ 127) short 16bits -2^15 ~ 2^15-1 (-32768 ~ 32767) int 32bits -2^31 ~ 2^31-1 (-2147483648 ~ 2147483647) long 64bits -2^63 ~ 2^63-1 (-9223372036854775808 ~ 9223372036854775807) float 32bits 0x0.000002P-126f ~ 0x1.fffffeP+127f .. 2020. 8. 4.
[Java] Call by value & Call by reference 프로그래밍에서 함수의 호출 방식으로 Call by value 와 Call by reference 방식이 있다. 이는 함수에 매개변수를 넘겨줄 때 '값(value)'을 넘겨주느냐 '주소(reference)'를 넘겨주느냐는 차이에서 생겨난 용어이다. Call by value 먼저 c 언어로 되어있는 예시를 보자. #include void swap(int a, int b){ int temp; temp = a; a = b; b = temp; } int main(){ int a, b; a = 10; b = 20; printf("swap 전 : %d %d\n", a, b); swap(a, b); printf("swap 후 : %d %d\n", a, b); return 0; } 스스로 이해해본 결과 이는 main 에.. 2020. 7. 29.
[Kotlin] 기초이론-1 문법 Kotlin 맨땅에 해딩하기. Day 01 참고 문헌 -Kotlin_docs Basic Syntax - Kotlin Programming Language kotlinlang.org 기본적으로 kotlin은 세미콜론 (;)을 작성하지 않는다. Kotlin에서의 메인문(Program entry point) fun 을 이용하여 함수를 구현 콘솔 디버깅을 위해 사용하는 함수 fun main(){ // java에서의 main thread 와 같은 문맥 // Debug 시 해당 블록을 실행한다. } Hello world! fun main(){ println("Hello, World!") } ![image-20200728215730260](/Users/choehyegeun/Library/Application Supp.. 2020. 7. 29.