Java(4)
-
제네릭(Generic)
데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법 타입의 경계를 지정하고, 컴파일 때 해당 타입으로 캐스팅하여 매개변수화된 유형을 삭제하는 것 - 장점 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. 3. 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다. 4. 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다. - 제네릭 제거 시기 자바 코드에서 선언되고 사용된 제네릭 타입은 컴파일 시 컴파일러에 의해 자동으로 검사되어 타입 변환됨 그리고 코드 내의 모든 제네릭 타입..
2023.06.08 -
Java 메모리 영역: Static, Stack, Heap
프로그램이 실행되면 JVM은 OS로부터 메모리를 할당 받고, 그 메모리를 목적에 따라 여러 영역으로 나눠 관리함 - Static 영역 (Method Area, Class Area, Code Area라고도 불림) Java 파일은 크게 필드(field), 생성자(constructor), 메서드(method)로 구성되어 있는데, Static 영역은 그 중 필드 부분에서 선언된 전역 변수와 정적 멤버 변수들의 데이터를 메모리에 상주시킴 정적 멤버 변수: Static 변수와 Static 메서드가 합쳐진 것(=클래스 멤버) 객체에 소속된 멤버가 아닌 클래스에 고정된 멤버 클래스 정보(멤버변수 이름), static 변수, 변수 정보(데이터 타입, 접근제어자) 메서드 정보 등을 저장 static 변수는 어디서든 접근이..
2023.05.22 -
컬렉션 프레임워크(Collection Framework)
- 컬렉션 프레임워크(collection framework) 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됨 컬렉션 프레임워크 주요 인터페이스: List, Set, Map List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상 차이로 인해 Map 인터페이스는 별도로 정의됨 컬렉션 프레임워크에 속하는 인터페이스를 구현한 클래스를 컬렉션 클래스(Collection Class)라고 함 add, clear, contains, size, remove 등의 메소드를 지원 주요 ..
2023.05.12 -
autoboxing, unboxing
Java에는 크게 2가지 데이터 타입 존재 - Primitive Data boolean, char, short, int, long, float, double 가벼운 데이터 스택 메모리에 위치 - Object Data 무거운 데이터 실제 데이터는 힙 메모리에 공유하고 Reference만 스택 메모리에 위치 - Wrapper Class primitive Data를 객체로 다루기 위해서 사용하는 Class primitive Data를 Object Data화 시킨 Class 모든 기본형 타입(primitive type)은 값을 갖는 객체 생성 가능, 이런 객체를 포장 객체라고 부름 Wrapper Class로 감싸고 있는 기본 타입은 외부에서 변경 불가능, 값을 바꾸려면 새로운 포장 객체를 만들어야 함 Wrapp..
2023.05.12