본문 바로가기

Java/기본

(39)
[Java] 타입문제예방하기102 - 열거형(enum)이란 열거타입(enum)이란 enum 타입은 몇가지 상수의 집합을 정의하는 타입으로 클래스의 특수한 형태이다. 집합이 갖는 값이 한정되어있고 다른 값이 허용되지 않는 경우에 사용한다. 사계절 : 봄, 여름, 가을, 겨울 요일 : 월, 화, 수, 목, 금, 토, 일 성별 : 남성, 여성 열거 타입 선언 이클립스, 혹은 인텔리제이에서 enum 생성시 종류를 선택할 수 있다. 열거 상수는 보통 대문자로 작성한다. 변경될 수 없는 값이라는 것을 알리기 위한 것으로 보인다. 계절 종류를 값으로 하는 Season enum 생성 enum Season(){ SPRING, SUMMER, AUTUMN, WINTER } 열거 타입 변수 열거형타입 사용해서 변수 선언하기 public class SeasonTest { //열거타입으..
[Java] 자바 final 키워드의 사용 final 키워드는 변수를 변경할 수 없도록 지정할 때 사용한다. 사전적으로 따져보면 final이란 entity가 단 한 번만 할당될 수 있다고 선언하는 것이라고 한다. final로 초기화한 뒤에 값을 변경하려고 하면 컴파일 에러가 발생한다. 특히 static 과 final을 모두 지정한 필드를 '클래스 상수'라고 부른다. 보통 클래스 상수는 대문자로 기술하여 일반 변수와 구분되도록 한다. String name = "홍길동";//일반변수 final String THANKYOU = " 고객님 감사합니다!";//final 변수 String message = name + THANKYOU; final 키워드는 변수, 메서드, 클래스에 붙일 수 있다 final 변수 해당 변수가 생성되고 값이 지정되면, 값이 고정..
[Java] 타입문제예방하기101 - 제네릭(Generic) 이란 개요 앞서 우리는 List, Set, Map 등 컬렉션에 대해 알아보았다. 컬렉션 중 하나인 List에는 add(), get() 메서드를 사용해 값을 추가하거나 꺼내올 수 있다. 이 때 인자값과 리턴값은 Object 형으로 모든 형태가 올 수 있다. 만약에 List에 성적계산을 목적으로 Integer값만 넣으려고 하는데, String값이 포함되어 있다면 어떨까? for(int i=0; i 타입을 지정하여 생성된 List 객체. 모든 타입의 객체를 허용하도록 지정했다. list_korean : Integer타입으로 제한했다. 구현 객체의 요소도 Integer타입 추가되도록 명시적으로 코드를 작성했다. list_english : Integer타입으로 제한했다. 구현 객체의 요소 제한은 생략했다. 자연스럽게 ..
[Java] 타입변환(type casting) - 자동타입변환, 강제타입변환 들어가기 타입변환 - 자동 타입 변환 값의 허용범위가 작은 타입이 허용범위가 큰 타입으로 변환될 때 큰 타입을 지정하면 자동으로 큰 타입으로 인식된다. byte byte01 = 10; int int01 = byte01; int int02 = 20; float float02 = int02; float float03 = 100.55; long long03 = float03; 타입변환 강제 타입 변환 값의 허용범위가 큰 타입이 허용범위가 작은 타입으로 변환될 때 실행된다. 원칙적으로 허용되지 않기 때문에 강제로(명시적으로) 변환 코드를 작성하게 되며, 변환 과정에서 데이터가 유실될 우려가 있다. 예를들어 double 타입을 int 값으로 강제 변환하게 되면, 소수점 이하부분은 버려지고 정수부분만 int 값으로..