Java/JAVA 100 문제 풀이
자바 part.1 문제풀이 - 데이터타입(자료형)
진이최고다
2023. 6. 7. 23:45
// 자바의 데이터타입(자료형)에 대해서 각 타입의 사이즈와 함께 설명해보시오.
// 이 문제는 자바의 자료형 종류와 각 타입의 특징,사이즈에 대해서 아는지를 묻는 문제이다.
자바에서는 다양한 데이터 타입(자료형)을 제공하여 프로그램에서 다양한 종류의 데이터를 표현하고 다룰 수 있다.
각 데이터 타입은 메모리에서 차지하는 크기와 해당 타입이 표현할 수 있는 값의 범위가 정해져있다.
정수형 데이터 타입과 사이즈 범위는 다음과 같다.
- byte : 1바이트 크기의 정수를 저장한다. 범위는 -128 ~ 127까지이다.
- short : 2바이트 크기의 정수를 저장한다. 범위는 -32,768 ~ 32,767까지이다.
- int : 4바이트 크기의 정수를 저장한다. 범위는 약 -21억 ~ 21억까지이다.
- long : 8바이트 크기의 정수를 저장한다. 범위는 약 -922경 ~ 922경까지 이다. 'long'타입의 값을 표현할 때는 숫자 뒤에 'L'또는 'l'을 붙여야 한다. 예 : long number = 12345L;
위의 데이터타입은 기본적인 정수형 데이터타입이며, 대부분의 프로그래밍 상황에서 사용된다. 특별한 요구사항이 없다면, 'int' 타입을 사용하는 것이 일반적이다.
실수형 데이터 타입과 사이즈 범위는 다음과 같다.
- float : 4바이트 크기의 부동소수점 수를 저장한다. 범위는 약 -3.4 x 10^38 ~ 3.4 x 10^38까지이다. 소수점 이하의 정밀도는 약 7자리이다. 'float'타입의 값을 표현할 때는 숫자 뒤에 'F' 또는 'f'를 붙여야한다.
- double : 8바이트 크기의 부동소수점을 저장한다. 범위는 약 -1.7 x 10^308 ~ 1.7 x 10^308까지이다. 소수점 이하의 정밀도는 약 15자리이며, 기본적으로 소수점 이하의 값이 있는 수는 'double'타입으로 인식된다. 따라서 'double'타입으로 값을 표현할 때는 숫자 뒤에 'D' 또는 'd'를 붙이지 않아도 된다.
- boolean : 1바이트 크기의 논리값을 저장한다. 'true' 또는 'false'값만 저장할 수 있으며, 조건식에서 주로 사용된다.
- char : 2바이트 크기의 유니코드 문자를 저장한다. 유니코드는 문자를 컴퓨터에서 표현하기위한 국제 표준이며, 'char' 타입은 작은따옴표(` ' `)로 감싸진 문자를 저장하며, 문자의 코드 값을 저장한다.
정수형과 실수형은 숫자 데이터를 표현하는데 사용된다. 정수형은 정확한 값을 표현할 수 있고, 계산 시에 정확한 결과를 제공한다.
반면에 실수형은 소수점 이하의 값을 포함하여 더 넓은 범위의 값을 표현할 수 있지만, 정밀도가 제한된다.
참조형 데이터 타입은 다음과 같다.
- 클래스(Class) : 클래스는 객체의 구조와 동작을 정의하는 템플릿이며, 클래스는 필드(속성)와 메서드(동작)을 가지며, 객체의 상태와 동작을 나타내는데 사용된다. 클래스는 객체의 설계도이며, 객체를 생성하여 사용한다.
- 인터페이스(interface) : 인터페이스는 클래스의 행동을 정의하는 역할을 하며, 인터페이스는 추상 메서드(구현이 없는 메서드)와 상수 필드를 가지며, 다른 클래스에서 해당 인터페이스를 구현하여 필요한 메서드를 정의해야한다. 인터페이스는 다중 상속과 유연한 구조를 제공하여 클래스 간의 관계를 정의하는데 사용된다.
- 배열(Array) : 배열은 동일한 타입의 여러 개의 값을 순서대로 저장하는 데이터 구조이며, 배열은 고정된 크기를 가지며, 인덱스를 사용하여 요소에 접근할 수 있다. 배열의 요소는 해당 타입의 값 또는 객체에 대한 참조를 저장한다.
- 열거형(Enum) : 열거형은 관련된 상수 값을 그룹화하여 정의하는 타입이다. 열거형은 사전에 정의된 상수 값들로만 구성되며, 각 상수 값은 고유한 이름과 값으로 식별된다. 열거형은 코드의 가독성을 향상 시키고, 상수 값의 유효성을 보장하기위해 사용된다.
- 문자열(String) : 문자열은 문자의 시퀀스를 나타내는 참조형 타입이다. 자바에서는 문자열을 String 클래스로 표현하며, 문자열을 변경할 수 없는(Immutable)특성을 가지고 있다.
자바의 참조형(Reference Type)은 객체를 참조하는 변수의 데이터 타입을 말한다. 참조형 변수는 실제 객체의 주소를 저장하며, 해당 객체는 힙(Heap) 메모리 영역에 저장된다.
참조형 변수는 다음과 같은 특징을 가지고 있다.
- 객체의 주소를 저장 : 참조형 변수는 객체의 주소를 저장하므로, 해당 객체의 데이터를 직접 저장하지 않는다. 변수는 힙 메모리 영역에 실제 객체가 저장된 주소를 가리키게 된다.
- 객체의 동적 생성과 소멸 : 참조형 변수를 통해 객체를 생성하고, 사용할 수 있다. 객체의 생성은 'new' 키워드를 사용하여 동적으로 이루어지며, 객체가 더 이상 필요하지 않을 때는 가비지 컬렉션(Garbage Collection)에 의해 소멸된다.
- 객체의 공유와 변경 : 참조형 변수는 같은 객체를 참조하는 다른 변수와 객체의 상태를 공유할 수 있다. 하나의 객체를 여러 변수가 참조 할 경우, 한 변수에 객체의 상태를 변경하면 다른 변수에서도 변경된 상태를 확인할 수 있다.
- null값 : 참조형 변수는 'null' 로 초기화될 수 있다. 'null'은 아무런 객체를 참조하지 않음을 나태는 특별한 값이다. 'null'으로 초기화된 변수는 객체를 참조하기 전에 초기화 되지 않았음을 나타내는 역할을 한다.
- 동적 바인딩 : 실행 시점에 해당 객체의 실제 타입을 확인하여 메서드 호출등을 처리한다. 이를 동적 바인딩(Dynamic Binding)이라고 하며, 프로그램의 유연성과 다형성을 지원한다.