-
이것이 자바다 정리 5장 (참조 타입)JAVA/JAVA 2022. 6. 21. 16:44
데이터 타입 분류
기본 타입 : byte(1), char(2), short(2), int(4), long(8), float(4), double(8), boolean
참조 타입 : 배열 타입, 열거 타입, 클래스, 인터페이스
스택
각 스레드마다 하나 씩 존재하며 스레드가 시작될 때 할당됨.
로컬 변수 스택에 각 변수들이 할당됨.
힙
힙 영역은 객체와 배열이 생성되는 영역임, Garbage Collector가 사용하지 않는 힙영역은 자동으로 제거함.
String
문자열은 String 객체를 생성하고 변수는 String 객체를 참조한다.
문자열 리터럴이 동일하다면 같은 String 객체를 공유한다.
서로 다른 객체를 참고하고 싶다면 new 연산자를 사용해야한다.
예시 :
String name1 = new String("JUMP");
String name2 = new String("JUMP2");
배열 복사 방법
1. for문
2. System.arrayCopy() 이용
3. Arrays 클래스 이용
열거타입 (Enum)
name() : 열거 객체의 문자열을 리턴
ordinal() : 열거 객체의 순번(0부터 시작)을 리턴
compareTo() : 열거 객체를 비교해서 순번 차이를 리턴
valueOf(String name) : 주어진 문자열의 열거 객체를 리턴
values() : 모든 열거 객체들을 배열로 리턴
public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
public class EnumP1 { public static void main(String[] args) { // name() 메소드 Week today = Week.SUNDAY; String name = today.name(); System.out.println(name); // SUNDAY // ordinal() 메소드 int ordinal = today.ordinal(); System.out.println(ordinal); // 6 // compareTo() 메소드 Week day1 = Week.MONDAY; Week day2 = Week.WEDNESDAY; int result1 = day1.compareTo(day2); int result2 = day2.compareTo(day1); System.out.println(result1); // -2 System.out.println(result2); // 2 //values() 메소드 Week [] days = Week.values(); for(Week day : days) { System.out.println(day); // MONDAY ~ SUNDAY } } }
'JAVA > JAVA' 카테고리의 다른 글
이것이 자바다 7장 상속 (0) 2022.06.23 이것이 자바다 정리 6장 (클래스) (0) 2022.06.21