boolean은 자바의 **논리형(논리 자료형)**으로, true 또는 false 두 가지 값만 가질 수 있습니다.
제어문(if, while 등), 비교 연산, 논리 연산의 결과를 표현할 때 사용됩니다.
boolean isPassed = true;
boolean isLogin = false;
Boolean은 자바의 기본형이며, 참조형 Boolean 클래스도 존재합니다.
Boolean obj = Boolean.TRUE; // 참조형
기본형 boolean과 참조형 Boolean은 오토박싱/언박싱으로 상호 변환됩니다.
비교 연산자는 두 값을 비교한 결과를 boolean 값으로 반환합니다.
|
연산자 |
의미 |
예시 |
결과 (boolean) |
|---|---|---|---|
|
== |
같음 |
a == b |
true/false |
|
!= |
같지 않음 |
a != b |
true/false |
|
> |
크다 |
a > b |
true/false |
|
< |
작다 |
a < b |
true/false |
|
>= |
크거나 같다 |
a >= b |
true/false |
|
<= |
작거나 같다 |
a <= b |
true/false |
int x = 5;
int y = 10;
boolean result1 = x < y; // true
boolean result2 = x == y; // false
boolean result3 = x != y; // true
문자열은 == 연산자가 아닌 .equals() 메서드를 사용해야 합니다.
String s1 = "hello";
String s2 = "hello";
boolean b1 = s1 == s2; // 주소 비교 (true or false)
boolean b2 = s1.equals(s2); // 내용 비교 (항상 true)
==는 객체의 참조값(주소)을 비교하고, equals()는 내부 문자열 내용을 비교합니다.
boolean isAdult = age >= 20;
if (isAdult) {
System.out.println("성인입니다.");
}
boolean flag = true;
while (flag) {
// 반복 실행
flag = false; // 루프 종료 조건
}
Boolean 값은 비교 연산의 결과이거나 직접 지정할 수 있습니다. 또한 논리 연산자(&&, ||, !)와 함께 자주 사용됩니다.
boolean a = true;
boolean b = false;
boolean result = a && b; // false
result = a || b; // true
result = !a; // false
int score = 85;
String result = (score >= 60) ? "합격" : "불합격";
조건 score >= 60의 결과는 boolean, 그에 따라 문자열 중 하나가 선택됩니다.
java.lang.Boolean 클래스는 boolean 타입을 객체로 다룰 수 있게 해줍니다.
Boolean b = Boolean.valueOf("true"); // 문자열을 boolean으로 변환
boolean val = b.booleanValue(); // 객체 → 기본형 변환
System.out.println(Boolean.TRUE); // true 출력
비교 연산 결과는 항상 boolean 타입이다.
문자열 비교는 == 대신 .equals()를 사용할 것.
if, while 등의 조건식에는 반드시 boolean 타입이 필요하다.
참조형 Boolean은 null 값을 가질 수 있으므로 NPE(NullPointerException)에 주의해야 한다.
|
항목 |
내용 |
|---|---|
|
boolean 타입 |
true, false 두 가지 값만 가능 |
|
비교 연산자 |
==, !=, <, >, <=, >= 등 사용 |
|
결과 타입 |
비교 연산 결과는 모두 boolean |
|
문자열 비교 |
.equals() 사용해야 정확 |
|
Boolean 클래스 |
참조형 타입, null 허용, 유틸 메서드 제공 |