κ΅λΉμ§μ D+68
- enum, Annotation, κ°λ³μΈμ, Nested Class, Inner Class -
enum
- enumeration μ΄κ±°ν λ°μ΄ν° νμ
- μ΄κ±°ν λ°μ΄ν°νμ μ λ°μ΄ν°μ λ²μλ₯Ό μ΄κ±°μν¨ λ°μ΄ν°λ‘ νμ μν€λ λ°μ΄ν°νμ μ΄λ€.
• κΈ°μ‘΄ μΈν°νμ΄μ€λ₯Ό enumμν μ¬μ©μ λ¬Έμ μ
- μΈν°νμ΄μ€μ μλμ©λμ λλ¨μ΄μ§ μ¬μ©μΌλ‘ μΈν°νμ΄μ€κ° μ€μ©λλ€.
- λ³μκ°μ λ²μμ λν΄ μ νμ λ μ μλ€. (μ νμμ΄ λ€λ₯Έ κ°μ΄ λ³μκ°μ λ€μ΄κ°λ λ¬Έμ κ° λ°μλμ§ μλλ€)
- μ€μ κ°μ μ μμ΄κΈ° λλ¬Έμ λ€λ₯Έ κ°κ³Ό κ²ΉμΉλ κ²½μ° μ΄λ₯Ό μ€λ₯λ‘ νλ¨ν μ μλ€.
interface IDAYS
{
int SUNDAY = 0; // μΌ
int MONDAY = 1; // μ
int TUESDAY = 2; // ν
int WEDNESDAY = 3; // μ
int THURSDAY = 4; // λͺ©
int FRIDAY = 5; // κΈ
int SATURDAY = 6; // ν
}
interface SCALE
{
int DO = 0;
int RE = 1;
int MI = 2;
int FA = 3;
int SO = 4;
int RA = 5;
int TI = 6;
}
public class ExamEnum1 {
public static void printDay(int days)
{
switch(days)
{
case IDAYS.SUNDAY :
System.out.println("μ€λμ μΌμμΌ");
break;
case IDAYS.MONDAY :
System.out.println("μ€λμ μμμΌ");
break;
case IDAYS.TUESDAY :
System.out.println("μ€λμ νμμΌ");
break;
case IDAYS.WEDNESDAY :
System.out.println("μ€λμ μμμΌ");
break;
case IDAYS.THURSDAY :
System.out.println("μ€λμ λͺ©μμΌ");
break;
case IDAYS.FRIDAY :
System.out.println("μ€λμ κΈμμΌ");
break;
case IDAYS.SATURDAY :
System.out.println("μ€λμ ν μμΌ");
break;
default:
System.out.println("μλͺ»λ μμΌμ
λλ€.");
break;
}
}
public static void main(String[] args)
{
printDay(IDAYS.TUESDAY);
printDay(SCALE.MI);
}
}
• νμμ±
- κ°λ μ±μ λμΌ μ μλ€.
- Data-typeμ€μ μΌλ‘ μ½λμ μμ μ±μ΄ μμΉλλ€.
enum DAYS
{
SUNDAY,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY
}
enum CTYPE
{
NORMAL,
VIP
}
public class ExamEnum2
{
public static void printDay(DAYS d)
{
switch(d)
{
case SUNDAY :
System.out.println("μ€λμ μΌμμΌ");
break;
case MONDAY :
System.out.println("μ€λμ μμμΌ");
break;
case TUESDAY :
System.out.println("μ€λμ νμμΌ");
break;
case WEDNESDAY :
System.out.println("μ€λμ μμμΌ");
break;
case THURSDAY :
System.out.println("μ€λμ λͺ©μμΌ");
break;
case FRIDAY :
System.out.println("μ€λμ κΈμμΌ");
break;
case SATURDAY :
System.out.println("μ€λμ ν μμΌ");
break;
default:
System.out.println("μλͺ»λ μμΌμ
λλ€.");
break;
}
}
public static void main(String[] args)
{
DAYS d = DAYS.SUNDAY;
printDay(d);
// λ°μ΄ν° νμ
μ λΆμΌμΉλ‘ μλ¬ λ°μ.
// printDay(CYPTE.VIP);
}
}
Annotation
- μ»΄νμΌλ¬μκ² μ΄λ€ μ 보λ₯Ό μ£Όλ κ²μ΄λ€.
- @Override : λͺ ννκ² μ»΄νμΌλ¬κ° μ¬μ μλ λ©μλμ.
- @Deprecated : λ¬Έμ λ°μ μμ§κ° μκ±°λ νΈνμ± λ¬Έμ λ‘ μΈν΄ κ°μ λ κΈ°λ₯μΌλ‘ λ체λμ΄ λμ΄μ νμνμ§ μμ.
κ°λ³μΈμ
function(...vals);
ν¨μμ νλΌλ―Έν° μμ λ€μ΄κ° λ°μ΄ν°μ κ°μλ§νΌ λ΄λ¬΄μ μΌλ‘ λ°°μ΄μ λ§λ€μ΄μ λ°°μ΄μ κ° νλΌλ―Έν°κ°μ μ μ₯ν λ€μμ ν¨μ λ΄λΆμ λ°°μ΄μ λμ§λ λ°©μμ΄λ€.
public class ExamVarage
{
public static void printAll(String ...vars)
{
System.out.println("Length = " + vars.length);
for(String s : vars)
{
System.out.println(s);
}
}
public static void main(String[] args)
{
// λ§μΉ μ€λ²λ‘λ©μ²λΌ λ³΄μΌ μ μμ§λ§
// μ¬μ€μ λ΄λΆμ μΌλ‘ λ°°μ΄λ‘ κ°μΈμ λ€μ΄κ°λ κ²μ΄λ€.
printAll("A");
printAll("A", "B");
printAll("A", "B", "C");
}
}
Nested Class
- ν΄λμ€ μμ λ€μ΄μλ ν΄λμ€
- Static Nested Class : OuterClassμ κ°μ²΄ν μ¬λΆμ μκ΄μμΌλ©°, Outer Classμ μμμ΄κΈ° λλ¬Έμ μ°Έμ‘°κ° κ°λ₯νλ€.
- Non-Static Nested Class : innerν΄λμ€λΌκ³ λ λΆλ¦°λ€.
Inner Class
• Member Inner Class
- ν¬λμ€ μμμ΄λ€.
- Member Inner Classλ₯Ό κ°μ²΄λ‘ μμ±νλ λ°©λ²μ Outerλ₯Ό μ μ λ‘ newλ₯Ό ν΅ν΄ κ°μ²΄ μμ±ν Member Inner Classμ κ°μ²΄λ₯Ό μμ±νλ€.
class Outer2
{
private int num = 0;
// member inner class
class Member
{
void add(int n)
{
num += n;
}
int get()
{
return num;
}
}
}
Outer2 out1 = new Outer1(); // Outer κ°μ²΄μμ±
Outer2.Member out1mb = out1.new Member(); // Outer ν΄λμ€μ Member κ°μ²΄ μμ±
out1mb.add(1);
System.out.printnln(out1mb.get());
• Local Inner Class
- Method μμμ΄λ€.
'μλ > κ΅λΉμ§μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[D+71] λλ€ Lamda (0) | 2022.12.30 |
---|---|
[D+69] μλ²νλ‘κ·Έλ¨κ΅¬ν (0) | 2022.12.28 |
[D+67] Genericκ³Ό μμΌλμΉ΄λ λ³΅μ΅ λ° μ 리 (0) | 2022.12.23 |
[D+66] μλ°νλ‘κ·Έλλ°8 (Queue, Stack, Deque, Map<K, V> μΈν°νμ΄μ€) (0) | 2022.12.23 |
[D+65] μλ°νλ‘κ·Έλλ°8 (Set<E> μΈν°νμ΄μ€, ν΄μ¬, TreeSet<E> μΈν°νμ΄μ€) (0) | 2022.12.22 |
λκΈ