Java์์ Short Hand If...Else๋ ์กฐ๊ฑด๋ฌธ์ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์๋ ์ผํญ ์ฐ์ฐ์(Ternary Operator)๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค. ์ผํญ ์ฐ์ฐ์๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๊ฐ ์ค ํ๋๋ฅผ ๋ฐํํ๋ฉฐ, ์ฝ๋๋ฅผ ๋จ์ํํ๊ณ ๊ฐ๋ ์ฑ์ ๋์ด๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ผํญ ์ฐ์ฐ์์ ๋ฌธ๋ฒ๊ณผ ํ์ฉ๋ฒ, ์ฃผ์์ ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. ์ผํญ ์ฐ์ฐ์์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
์ผํญ ์ฐ์ฐ์๋ ์กฐ๊ฑด๋ฌธ์ ์งง์ ํํ ๋ฐฉ์์ผ๋ก, ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค:
์กฐ๊ฑด์ ? ๊ฐ1 : ๊ฐ2;
์ ๊ตฌ์กฐ์์ ์กฐ๊ฑด์์ด true
์ผ ๊ฒฝ์ฐ ๊ฐ1
์ด ๋ฐํ๋๋ฉฐ, false
์ผ ๊ฒฝ์ฐ ๊ฐ2
๊ฐ ๋ฐํ๋ฉ๋๋ค.
์์ : ๊ธฐ๋ณธ ์ผํญ ์ฐ์ฐ์
public class TernaryExample {
public static void main(String[] args) {
int number = 10;
String result = (number > 5) ? "5๋ณด๋ค ํฝ๋๋ค." : "5 ์ดํ์
๋๋ค.";
System.out.println(result);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
5๋ณด๋ค ํฝ๋๋ค.
์ ์์ ์์ number > 5
๊ฐ ์ฐธ์ด๋ฏ๋ก "5๋ณด๋ค ํฝ๋๋ค."
๊ฐ ๋ฐํ๋ฉ๋๋ค.
2. ์ผํญ ์ฐ์ฐ์์ ํ์ฉ
์ผํญ ์ฐ์ฐ์๋ ๋ค์ํ ์ํฉ์์ ๊ฐ๋จํ ์กฐ๊ฑด๋ฌธ์ ๋์ฒดํ ์ ์์ต๋๋ค. ๋ช ๊ฐ์ง ์์ ๋ฅผ ํตํด ์ค์ฉ์ ์ธ ํ์ฉ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
2.1 ์ซ์ ๋น๊ต
public class NumberComparison {
public static void main(String[] args) {
int a = 8, b = 12;
int max = (a > b) ? a : b;
System.out.println("๋ ํฐ ๊ฐ์: " + max);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
๋ ํฐ ๊ฐ์: 12
์ ์ฝ๋๋ if...else
์์ด ๋ ์ซ์ ์ค ๋ ํฐ ๊ฐ์ ๊ฐ๋จํ ๊ตฌํ ์ ์์ต๋๋ค.
2.2 ๋ฌธ์์ด ์กฐ๊ฑด ์ฒ๋ฆฌ
public class Greeting {
public static void main(String[] args) {
int hour = 10;
String message = (hour < 12) ? "์ข์ ์์นจ์
๋๋ค." : "์ข์ ํ๋ฃจ ๋์ธ์.";
System.out.println(message);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ข์ ์์นจ์
๋๋ค.
์๊ฐ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ธ์ฟ๋ง์ ์ถ๋ ฅํ๋ ๊ฐ๋จํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
2.3 Boolean ๊ฐ์ ํ์ฉํ ์ผํญ ์ฐ์ฐ
public class BooleanTernary {
public static void main(String[] args) {
boolean isMember = true;
String access = isMember ? "์ ๊ทผ ํ์ฉ" : "์ ๊ทผ ๋ถ๊ฐ";
System.out.println(access);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ ๊ทผ ํ์ฉ
isMember
๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ ์ ์์ต๋๋ค.
3. ์ผํญ ์ฐ์ฐ์์ ์ค์ฒฉ ์ฌ์ฉ
์ผํญ ์ฐ์ฐ์๋ ์ค์ฒฉํด์ ์ฌ์ฉํ ์๋ ์์ง๋ง, ๋๋ฌด ๋ง์ด ์ค์ฒฉํ๋ฉด ์ฝ๋๊ฐ ๋ณต์กํด์ง ์ ์์ผ๋ฏ๋ก ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
์ค์ฒฉ ์ผํญ ์ฐ์ฐ์ ์์
public class NestedTernary {
public static void main(String[] args) {
int score = 85;
String grade = (score >= 90) ? "A" :
(score >= 80) ? "B" :
(score >= 70) ? "C" : "F";
System.out.println("ํ์ : " + grade);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
ํ์ : B
์ ์ฝ๋๋ ์ค์ฒฉ๋ ์ผํญ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ์ ์์ ๋ฐ๋ผ ํ์ ์ ๊ณ์ฐํฉ๋๋ค.
4. ์ผํญ ์ฐ์ฐ์ ์ฌ์ฉ ์ ์ฃผ์์
- ๋จ์ํ ์กฐ๊ฑด์๋ง ์ฌ์ฉ: ์ผํญ ์ฐ์ฐ์๋ ๊ฐ๋จํ ์กฐ๊ฑด๋ฌธ์ ์ ํฉํ๋ฉฐ, ๋ณต์กํ ๋ก์ง์์๋ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
- ์กฐ๊ฑด์ ๊ฒฐ๊ณผ์ ์ผ๊ด์ฑ: ์ผํญ ์ฐ์ฐ์์ ๋ฐํ ๊ฐ์ ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ด์ด์ผ ํฉ๋๋ค. ํ์ ์ด ๋ค๋ฅด๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์ค์ฒฉ ์ฌ์ฉ ์ต์ํ: ์ค์ฒฉ๋ ์ผํญ ์ฐ์ฐ์๋ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ์ ํ์ํค๋ฏ๋ก ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ์ธ์.
5. ์ผํญ ์ฐ์ฐ์์ If...Else ๋น๊ต
์ผํญ ์ฐ์ฐ์๋ ๊ฐ๊ฒฐํ์ง๋ง, if...else
๋ณด๋ค ํํ์ด ๋ณต์กํ ๊ฒฝ์ฐ ์ ํฉํ์ง ์์ ์ ์์ต๋๋ค. ์๋๋ ๋ ๊ฐ์ง ๋ฐฉ์์ ๋น๊ต ์์ ์
๋๋ค.
์ผํญ ์ฐ์ฐ์
String message = (hour < 12) ? "์ข์ ์์นจ์
๋๋ค." : "์ข์ ํ๋ฃจ ๋์ธ์.";
If...Else
if (hour < 12) {
message = "์ข์ ์์นจ์
๋๋ค.";
} else {
message = "์ข์ ํ๋ฃจ ๋์ธ์.";
}
์ผํญ ์ฐ์ฐ์๋ ์ฝ๋๋ฅผ ํ ์ค๋ก ํํํ ์ ์๋ ์ฅ์ ์ด ์์ง๋ง, ์กฐ๊ฑด์ด ๋ณต์กํ ๊ฒฝ์ฐ if...else
๊ตฌ์กฐ๊ฐ ๋ ๊ฐ๋
์ฑ์ด ์ข์ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
Java์ Short Hand If...Else, ์ฆ ์ผํญ ์ฐ์ฐ์๋ ๊ฐ๋จํ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ๋ ์ ์ฉํ ๋๊ตฌ์ ๋๋ค. ์ฝ๋์ ๊ฐ๊ฒฐํจ๊ณผ ๊ฐ๋ ์ฑ์ ๋์์ ๋์ผ ์ ์์ง๋ง, ์ง๋์น ์ค์ฒฉ ์ฌ์ฉ์ ํผํด์ผ ํฉ๋๋ค. ์ด๋ฒ ๊ธ์์ ์๊ฐํ ๋ฌธ๋ฒ๊ณผ ์์ ๋ฅผ ํตํด ์ผํญ ์ฐ์ฐ์๋ฅผ ์ ๊ทน ํ์ฉํ์ฌ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ