1. 배열
array(배열)과 arrayList(리스트)의 차이
arrayList는 사이즈가 동적으로 알아서 늘어나주니 찾아볼 생각을 못하다가 어떻게 내부적으로 size가 늘어나는지 코드를 분석해봤다.
일단 기본적인 차이부터 살펴보자
1. Implementation of array is simple fixed sized array but Implementation of ArrayList is dynamic sized array.
배열은 크기가 고정되어있지만 arrayList는 사이즈가 동적인 배열이다.
2. Array can contain both primitives and objects but ArrayList can contain only object elements
배열은 primitive type(int, byte, char 등)과 object 모두를 담을 수 있지만, arrayList는 object element만 담을 수 있다.
3. You can’t use generics along with array but ArrayList allows us to use generics to ensure type safety.
배열은 제네릭을 사용할 수 없지만, arrayList는 타입 안정성을 보장해주는 제네릭을 사용할 수 있다.
4. You can use length variable to calculate length of an array but size() method to calculate size of ArrayList.
길이에 대해 배열은 length 변수를 쓰고, arrayList는 size() 메서드를 써야한다.
5. Array use assignment operator to store elements but ArrayList use add() to insert elements.
배열은 element들을 할당하기 위해 assignment(할당) 연산자를 써야하고, arrayList는 add() 메서드를 통해 element를 삽입한다.
출처: [QUORA] What is the difference between an array and an array list?
What is the difference between an array and an array list?
Answer (1 of 32): The main differences are: 1. Resizable : Array is static in size that is fixed length data structure, One can not change the length after creating the Array object. ArrayList is dynamic in size . Each ArrayList object has instance variabl
www.quora.com
2. 객체 배열
- JAVA 참조 자료형
참조 자료형은 기본 자료형과 달리 Stack에 직접 값을 할 당하는것이 아니라 Stack에는 Heap의 주소를 참조하고 있고 실제 값은 Heap영역에 올린다. 이렇게 직접 값을 가지고 있지안고 주소를 가지고 있는 자료형을 참조 자료형 이라고한다.
참조 자료형은 특징은 다음과 같다.
- new 키워드로 생성한 객체
- String 과 배열을 new 없이 객체를 생성할 수 없지만 참조 자료형에 속한다.
- class, array. interface, Enummeration 을 참조 자료형 이라고한다.
Java 참조 자료형(클래스, 인터페이스, 배역, 열겨 타입)
- JAVA 참조 자료형 참조 자료형은 기본 자료형과 달리 Stack에 직접 값을 할 당하는것이 아니라 Stack에는 Heap의 주소를 참조하고 있고 실제 값은 Heap영역에 올린다. 이렇게 직접 값을 가지고 있지안
jktech.tistory.com
기본자료형 변수는 정수형, 실수형, 문자형 등이 해당되며, 이런 기본 자료형 변수의 경우는 선언된 변수의 메모리내에 직접 데이터가 기록 되는 형태입니다. 반면 자바에서 참조자료형 변수는 기본자료형을 제외한 모든 클래스 형태의 변수가 여기에 해당됩니다. 문자열(String) 또한 String 클래스의 객체로써 참조자료형 변수에 해당되며, 모든 배열 또한 자바에서는 객체의 형태(참조자료형 변수)로 처리합니다.
이런 참조자료형 변수가 기본자료형 변수와 다른 중요한 차이점은, 기본자료형 변수가 직접 데이터를 메모리내에 가지고 있는것과 다르게, 참조자료형 변수는 데이터를 해당 메모리내에 직접 가지고 있는 것이 아니라, 해당 자료가 기록된 메모리의 주소값을 가지고 있게 됩니다.
만약 C언어를 알고 계신다면, 이런 참조자료형 변수는 C언어에서의 포인터에 해당하게 됩니다. 그렇다면, 왜 복잡하게 기본형, 참조형을 나누어 놓았을까? 라는 의문을 가질 수도 있습니다. 그 이유는 간단합니다.
예를 들어서, 정수 1이라는 데이터가 1000개 들어 있는 배열이 있다고 가정해 봅시다. 그리고 이 배열 데이터는 기본자료형의 형태로 저장되어 있다고 가정한다면, 이 자료를 함수의 파라메터로 이곳, 저곳으로 이동을 한다면, 이동 할 때 마다 1000개의 모든 데이터를 일일이 복사를 해야하는 부담이 생깁니다.
하지만 이것을 참조자료형으로 저장을 하고 있다면, 함수의 파라메터로
넘길때, 매번 복사를 해야하는 리소스낭비에서 벗어나 단지, 메모리 주소
하나만을 넘김으로써 간단하게 해결될 수 있습니다.
이 예를 가지고 함수 호출의 방식을 크게 다음과 같이 두가지로 나눕니다.
기본자료형의 형태로 호출 : Call By Value
참조자료형의 형태로 호출 : Call By Reference
출처: https://studyinblog.tistory.com/47
기본형 배열과 참조형 배열의 차이점
자바에서의 변수는 기본적으로, 기본형 또는 참조형 두 가지로 나눌수 있습니다. 기본자료형 변수는 정수형, 실수형, 문자형 등이 해당되며, 이런 기본 자료형 변수의 경우는 선언된 변수의 메
studyinblog.tistory.com
올인원 패키지 : JAVA 웹 개발 마스터👉https://bit.ly/35aoeAW
'패스트캠퍼스 환급 챌린지' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {12} 회차 미션 (0) | 2020.11.13 |
---|---|
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {11} 회차 미션 (0) | 2020.11.12 |
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {9} 회차 미션 (0) | 2020.11.10 |
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {8} 회차 미션 (0) | 2020.11.09 |
[패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {7} 회차 미션 (1) | 2020.11.08 |