프로그래밍/Java

    Queue 인터페이스

    Queue 인터페이스

    🧐 Queue Interface(큐 인터페이스)란? Queue Interface는 선형 자료구조로 순서가 있는 데이터를 기반으로 선입선출(FIFO, First In First Out)을 위해 만들어진 인터페이스이다. 큐는 1,2,3,4 순으로 데이터를 넣으면 꺼낼 때 넣은 순서대로 1,2,3,4로 나오는 구조라는 것이다. 가장 앞쪽은 head(헤드)이고, 가장 뒷쪽은 tail(꼬리)라고 부른다. Queue를 상속하고 있는 Deque(덱)이라는 Interface도 있다. Queue는 한쪽 방향으로만 삽입과 삭제가 가능하지만 Deque는 Double-ended Queue라는 의미로 양쪽에서 가능하다. Stack의 성질과 Queue의 성질을 모두 가지고 있는 자료구조이다. 📝 Queue Interface에 정..

    List 인터페이스

    List 인터페이스

    🧐 List Interface(리스트 인터페이스)란? List Interface는 선형 자료구조로 순서가 있는 데이터를 목록으로 사용할 수 있도록 만들어진 인터페이스이다. 배열은 우리가 선언한 공간 외에는 더 이상 사용할 수 없다. 이런 배열의 단점을 보완하여 List를 통해 구현된 클래스들은 동적 크기를 가지면서 배열처럼 사용할 수 있다. 특징으로는 다음과 같다. 요소의 저장 순서가 유지 같은 요소의 중복 저장 허용 배열의 기능 + 동적 크기 할당 Java에서는 두 가지 범용 List 구현이 있다. 일반적으로 사용하는 ArrayList 특정 상황에서 더 나은 성능을 제공하는 LinkedList 위의 List 구현말고도 잘 사용하지 않는 두 가지가 더 있다. Vector Stack 🧐 List Inter..

    Java 줄바꿈문자 \n 이란?

    Java 줄바꿈문자 \n 이란?

    *23.03.31 수정 자바를 쓰다보면 System.out.print("\n"); 을 쓸 때가 있다. 이러면 줄바꿈이 되어 한 줄 밑으로가서 새로운 라인을 추가하게 된다. 즉, "\n"은 개행문자(줄바꿈 문자)인 것이다. 우리가 흔히 쓰는 Enter키처럼 줄을 바꿔주는 문자라고 생각하면 편하다. 실제로 Enter키와 "\n"이 어떤 값으로 쓰이는지 살펴보자. 🚀 '\n' 과 Enter키의 인코딩 값 이렇게 실행하고 콘솔에 Enter키를 입력하면 10이라는 인코딩값이 나온다. 'a'는 97이라는 인코딩 값이 나온다. 왜 '\n'와 Enter키는 10이 나오고, 'a'는 97이 나올까? 이것은 해당 문자를 표현하기 위한 인코딩 값이다. 인코딩값은 대부분 1~127까지 똑같으니 아스키코드표를 살펴보자. 빨간색..

    JVM(자바가상머신)이란? - Part 3, ClassLoader

    JVM(자바가상머신)이란? - Part 3, ClassLoader

    * 2023.05.24 내용 추가 JVM(자바가상머신)이란? - Part 1, 소개 자바를 쓰는 개발자라면 누구나 들어봤을 JVM(Java Virtual Machine)을 알아보려고 한다. 자바 바이트코드가 JRE에서 동작을 하는데, 이 JRE에서 가장 중요한 요소는 자바 바이트코드를 해석하고 실행하 ssdragon.tistory.com JVM(자바가상머신)이란? - Part 2, Execution Engine JVM(자바가상머신)이란? - Part 1 자바를 쓰는 개발자라면 누구나 들어봤을 JVM(Java Virtual Machine)을 알아보려고 한다. 자바 바이트코드가 JRE에서 동작을 하는데, 이 JRE에서 가장 중요한 요소는 자바 ssdragon.tistory.com JVM(자바가상머신)이란? ..

    자바 getBytes()

    자바 getBytes()

    🤔 getBytes()이란? getBytes() 메서드는 String(문자열)을 default charset으로 인코딩하여 byte 배열로 반환해준다. 이 문자열(String)을 플랫폼의 default charset을 사용하여 바이트의 시퀀스로 인코딩하고, 새로운 바이트 배열에 결과를 저장한다. 이 문자열이 default charset으로 인코딩 할 수 없는 경우 이 메서드의 동작은 지정되지 않는다. 이 java.nio.charset.CharsetEncoder 클래스는 인코딩 과정에 더 많은 제어가 필요할 때 사용한다. Return : 위 내용에서 언급한 결과로 생긴 byte 배열 즉, 우리가 사용하는 IDE의 default charset을 사용하여 문자열을 byte로 인코딩하여 byte 배열에 넣어서 ..

    자바 toCharArray()

    자바 toCharArray()

    🤔 toCharArray()란? String 문자열을 char형 배열로 바꿔서 반환해주는 메서드이다. "ABCD" 라는 문자열이 있으면 arr[0] = 'A' arr[1] = 'B' arr[2] = 'C' arr[3] = 'D' 위 값처럼 char 배열을 반환해준다. 이 메서드는 String 메서드로 한번 살펴보자. 다음은 String 클래스에 정의된 toCharArray() 메서드이다. 이 문자열을 새 문자 배열로 변환합니다. Returns : 새로 할당된 문자배열의 길이는 이 문자열의 길이이고, 이 문자배열의 내용은 문자열에 포함하는 문자 내용을 순서대로 초기화한다. 즉, String으로 받은 문자열을 char 문자로 쪼갠 뒤 char[]배열에 순서대로 값을 넣어 반환한다는 뜻이다. 위에 예시로 적어..

    JVM(자바가상머신)이란? - Part 2, Execution Engine

    JVM(자바가상머신)이란? - Part 2, Execution Engine

    JVM(자바가상머신)이란? - Part 1, 소개 자바를 쓰는 개발자라면 누구나 들어봤을 JVM(Java Virtual Machine)을 알아보려고 한다. 자바 바이트코드가 JRE에서 동작을 하는데, 이 JRE에서 가장 중요한 요소는 자바 바이트코드를 해석하고 실행하 ssdragon.tistory.com JVM(자바가상머신)이란? - Part 3, ClassLoader JVM(자바가상머신)이란? - Part 1 자바를 쓰는 개발자라면 누구나 들어봤을 JVM(Java Virtual Machine)을 알아보려고 한다. 자바 바이트코드가 JRE에서 동작을 하는데, 이 JRE에서 가장 중요한 요소는 자바 ssdragon.tistory.com JVM(자바가상머신)이란? - Part4, Runtime Data Ar..

    JVM(자바가상머신)이란? - Part 1, 소개

    JVM(자바가상머신)이란? - Part 1, 소개

    JVM(자바가상머신)이란? - Part 2, Execution Engine JVM(자바가상머신)이란? - Part 1 자바를 쓰는 개발자라면 누구나 들어봤을 JVM(Java Virtual Machine)을 알아보려고 한다. 자바 바이트코드가 JRE에서 동작을 하는데, 이 JRE에서 가장 중요한 요소는 자바 ssdragon.tistory.com JVM(자바가상머신)이란? - Part 3, ClassLoader JVM(자바가상머신)이란? - Part 1 자바를 쓰는 개발자라면 누구나 들어봤을 JVM(Java Virtual Machine)을 알아보려고 한다. 자바 바이트코드가 JRE에서 동작을 하는데, 이 JRE에서 가장 중요한 요소는 자바 ssdragon.tistory.com JVM(자바가상머신)이란? - ..