중간 문제
JAVA개요 ~ 예외 처리
기본형 데이터 타입으로는 크게 정수 타입과 실수타입, 문자 타입과 논리 타입으로 나누어진다.
정수 타입에는 byte, short, int, long으로 byte는 8비트를 차지하며 short는 16비트를, int는 32비트를, long는 64비트를 차지한다.
가장 많이 사용하는 정수 타입의 int는 기본 타입이기 때문에 long 타입을 사용할 때엔 뒤에 'L' 또는 'l'을 씀으로써 구별해야 한다.
실수 타입은 float와 double가 있으며, float는 32비트, double는 64비트를 차지한다.
이 또한 기본 형태는 double이기 때문에 float를 쓰기 위해서는 'F' 또는 'f'을 붙여야 한다.
문자 타입의 char은 16 비트로 유니코드 문자를 저장하는데 사용ㅣ되며 전 세계의 모든 문자를 나타낼 수 있다.
문자 뿐 아니라 ASCII값 또는 유니코드 값을 직접 저장하는 데도 사용할 수 있다.
마지막으로 논리타입의 boolean은 8비트를 차지하며 true와 false만 가질 수 있다.
조건문이나 논리 연산에서 주로 사용된다.
참조형 데이터 타입이란 객체의 참조(즉, 메모리 주소)를 저장한다. 이들은 클래스, 인터페이스, 배열, 열거형 등을 포함하며, null 값을 가질 수 있다. "클래스 타입"이라고도 한다.
이러한 참조 데이터 타입의 기본값은 null이며, 아직 어떤 객체도 참조하지 않았음을 의미한다. 참조 데이터 타입의 변수를 사용하기 전에는 반드시 객체를 할당해야 하는데 그렇지 않으면 NullPointerException가 발생하게 된다.
변수란 하나의 데이터를 저장하고 있는 공간이며 배열은 하나의 타입을 여러개 나열해서 저장하는 공간이다. 클래스는 각각 다른 데이터 타입을 하나의 구조로 묶어둔 것이다.
int a = 10;
int b = 20;
boolean c = (a++ +b) > 30 || (++b < (a+10) && b++ > a++);
System.out.println(a);
System.out.println(b);
System.out.println(c);
a = 11
b = 21
c = false
int number = 200;
if(number > 100) number -= 100;
--------a
for(int count = 0; count < number; count++) {
if(count % 2 == 0) continue;
count++;
}
--------b
if(number < 120) number += 120;
else number += 60;
--------c
a = 100
b = 100
c = 220
클래스는 공통적 성질을 가진 대상들을 정의한 것이고 객체는 클래스에 정의된 대로 생성한 실체이다.
오버로딩이란 같은 이름의 메서드를 여러 개 가지면서 매개변수의 유형과 개수를 다르게 하는 방법을 의미한다. 오버로딩은 메소드의 이름은 같아야 하지만 매개 변수의 타입, 개수, 순서 중 하나는 달라야 사용할 수 있다.
생성자는 클래스의 인스턴스를 생성할 때 호출되는 특별한 메서드로 생성자의 이름은 클래스으 이름과 동일하며, 반환 타입을 명시하지 않는다.
Dog jindo = new Dog();
jindo.age = 10;
jindo.name = "진돌이"
Dog shiba = new Dog();
shiba.age = 2;
shiba.name = "초코"
Dog poodle = shiba;
poodle.age = 5;
poodle.name = "하루"
System.out.println(jindo.age)
System.out.println(jindo.name)
System.out.println(shiba.age)
System.out.println(shiba.name)
System.out.println(poodle.age)
System.out.println(poodle.name)