[Java] 원시 타입과 참조 타입 정리: 오토박싱과 언박싱 쉽게 이해하기
·
Java
자바에서는 데이터 타입을 크게 원시 타입(Primitive Type)과 참조 타입(Reference Type)으로 나눌 수 있다.이 두 타입은 메모리 관리와 작동 방식에서 중요한 차이가 있으며, 오토박싱과 언박싱은 이 두 타입 간의 상호작용을 돕는 중요한 개념이다. 이 글에서는 원시 타입과 참조 타입의 차이, 그리고 오토박싱과 언박싱에 대해 자세히 살펴보겠다. 1. 원시 타입 (Primitive Type)원시 타입(Primitive Type)은 자바에서 기본적으로 제공하는 타입으로, 가장 간단한 형태의 데이터를 저장하는 데 사용된다. 이 타입은 메모리에서 값 자체를 직접 저장하며, 성능이 뛰어나다. 자바의 원시 타입은 총 8가지이며, 각각의 타입은 고유한 크기와 범위를 가지고 있다. 자바의 원시 타입 8..
[Java] 자바에서의 배열 복사 방법( arraycopy(), copyOfRange(), copyOf() )
·
Java
자바에서 배열 복사 방법을 설명하겠습니다. ​ 1. for문을 사용한 배열 복사 방법 가장 기초적인 방법으로 for문으로 돌면서 값을 하나씩 넣어주는 방법이다. ​ 실행 결과는 당연히 1, 2, 3, 4, 5가 나온다. ​ ​ 2. System.arraycopy() 를 이용한 방법 arraycopy의 매개변수를 설명을하자면 num1 배열의 index 0 번부터 num2 배열의 index 0번부터 num1.length ( == 5) 만큼 배열의 복사한다는 뜻이다. ​ 당연히 실행결과는 1,2,3,4,5 가 나온다. ​ 3. Arrays.copyOfRange()를 이용한 방법 Arrays클래스의 copyOfRange함수를 이용한 배열 복사 방법이다. copyOfRange( 복사할 배열, 처음 인덱스, 마지막..
[Java] String.split 함수
·
Java
알고리즘 문제를 풀다 split에 대해 새로운 사실을 알게되어 글을 쓰게 됐다. ​ Java에서 split 함수를 알아보겠다. 문자열을 자르고(분할하고) 배열에 반환하고 싶을 때 많이 사용하는 함수이다. 매개변수로는 regex 즉, 정규표현식이 들어갈 수 있고 정규표현식과 limit (정수) 가 함께 들어갈 수 있다. ​ 먼저 매개변수에 정규표현식만 들어간 방식이다. String으로 선언한 aPhoneNumber 에서 "-" 기준으로 잘라 String 배열 a에 반환하는 방식이다. 실행결과는 아래와 같다. ​ ​ 그 다음은 limit 매개변수 까지 들어간 방식이다. limit는 뜻 그대로 제한을 두는 매개변수 이며 문자열을 자르고 배열을 반환할 때 배열의 갯수를 제한하는 것이다. 문자열 bPhoneNum..
[Java] 래퍼(Wrapper) 클래스
·
Java
객체지향 개념에서 모든 것은 객체로 다루어져야 한다. 그러나 자바에서는 8개의 기본형(int, boolean 등등)을 객체로 다루지 않는데 이것이 바로 자바가 완전한 객체지향 언어가 아니라는 얘기를 듣는 이유이다. 그 대신 보다 높은 성능을 얻을 수 있었다. 때로는 기본형 변수도 어쩔 수 없이 객체로 다뤄야 할 하는 경우가 있다. 예를들면, 매개변수로 객체를 요구할 때, 기본형 값이 아닌 객체로 저장해야할 때, 객체간의 비교가 필요할 때 등등의 경우에는 기본형 값들을 객체로 변환하여 작업을 수행해야 한다. 이때 사용되는 것이 래퍼(Wrapper) 클래스 이다. 8개의 기본형을 대표하는 8개의 래퍼클래스가 있는데, 이 클래스들은 이용하면 기본형 값을 객체로 다룰 수 있다. 기본형 래퍼클래스 기본형 래퍼클래..