์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[29] 230208 Java Ch. 5 ์ฐธ์กฐ ํ์ : 3. ์ด๊ฑฐ ํ์ [K-๋์งํธ ํธ๋ ์ด๋ 29์ผ] ๋ณธ๋ฌธ
[29] 230208 Java Ch. 5 ์ฐธ์กฐ ํ์ : 3. ์ด๊ฑฐ ํ์ [K-๋์งํธ ํธ๋ ์ด๋ 29์ผ]
yjyuwisely 2023. 2. 8. 12:46230208 Wed 29th class
Ch. 5 ์ฐธ์กฐ ํ์
Ch. 6 ํด๋์ค (์ฃผ์ ๋ณ๋ก ๋ฌถ๊ธฐ ์ํด ์๊ธ๋ก ๊ธ ๋ด์ฉ ์ฎ๊น.)
์ง๋: p. 203 ~ (๊ต์ฌ: ํผ์ ๊ณต๋ถํ๋ ์๋ฐ, ์ ์: ์ ์ฉ๊ถ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์
๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
์์ฑ์: ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋๋ง๋ค ์คํ๋๋ ๋ฉ์๋
์์ฑ์๋ ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํ(๋ณ์์ ์ ์ผ ์ฒ์ ๋ค์ด๊ฐ๋ ๊ฐ ex) var a = 10;) ํ๋ ์ญํ ์ ํ๋ค.
A constructor is a special method of a class or structure in object-oriented programming that initializes a newly created object of that type. Whenever an object is created, the constructor is called automatically.
- ๋ฉ์๋ ์์ญ(Method Area)์๋ ์ ์ ํ๋, ์์, ๋ฉ์๋ ์ฝ๋, ์์ฑ์ ์ฝ๋๊ฐ ์์นํ๋ฉฐ, (๊ณต์ ํด์ ์ฌ์ฉํ๋ค.)
- ํ ์์ญ(Heap Area)์๋ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค.
- ์คํ ์์ญ(Stack)์๋ ๋ณ์๊ฐ ์์ฑ๋๋ค.
๋ณ์
ํ์
๋ณ์๋ช
int a;
๋ฐฐ์ด
ํ์
๋ฐฐ์ด๋ช
int[] a;
- ๊ธฐ๋ณธ ํ์
8๊ฐ: byte, short, char, int, long
float, double
boolean
- ์ฐธ์กฐ ํ์
(๋๋จธ์ง)
- ๋ฐฐ์ด ํ์
: int[] a;
- ์ด๊ฑฐ ํ์
: enum
- ํด๋์ค
- ์ธํฐํ์ด์ค
๋ณ์ ์ ์ธ: int a;
๋ฐฐ์ด ์ ์ธ: int[] a;
์ด๊ฑฐ ์ ์ธ: public enum a(์ด๊ฑฐ ์ด๋ฆ);
Ch. 5 ์๋ฐ ์ฐธ์กฐ ํ์
์ฑ ์ ๋ชฉ์ฐจ
05-1 ์ฐธ์กฐ ํ์ ๊ณผ ์ฐธ์กฐ ๋ณ์
05-2 ๋ฐฐ์ด
05-3 ์ด๊ฑฐ ํ์
5.3 ์ด๊ฑฐ ํ์
p. 203
enumerate: (transitive) to mention separately or in order; name one by one; list
์ด๊ฑฐ ํ์
: ์ด๊ฑฐ ํ์
์ ๋ช ๊ฐ์ง๋ก ์ ํ๋ ์์๋ฅผ ๊ฐ์ง๋ ํ์
์ ๋งํ๋ค. ํ์ ๋ ๊ฐ๋ง์ ๊ฐ๋ ์๋ฃํ์ด๋ค.
public enum ์ด๊ฑฐํ์
์ด๋ฆ {...}
Enums
An enum is a special "class" that represents a group of constants (unchangeable variables, like final variables).
To create an enum, use the enum keyword (instead of class or interface), and separate the constants with a comma. Note that they should be in uppercase letters:
An enum can, just like a class, have attributes and methods. The only difference is that enum constants are public, static and final (unchangeable - cannot be overridden).
An enum cannot be used to create objects, and it cannot extend other classes (but it can implement interfaces).
์ฐธ๊ณ : https://www.w3schools.com/java/java_enums.asp
1) ์ด๊ฑฐ ํ์ ์ ์ธ p. 204
enum ํ์
{์์, ์์, ...} ํํ๋ก ์ด๊ฑฐ ํ์
์ ์ ์ธํ๋ค.
ex) enum Week { MONDAY, ... , SUNDAY}
public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
//Week: ์ด๊ฑฐ ํ์
์ด๋ฆ
//{...}์ ๊ฐ: ์ด๊ฑฐ ์์
์ด๊ฑฐ ์์: ์ด๊ฑฐ ํ์
์ ์ธ ๋ ์ฃผ์ด์ง ์์๋ฅผ ๋งํ๋ฉฐ ํ์
.์์ ํํ๋ก ์ฌ์ฉํ๋ค.
ex) Week ์ด๊ฑฐ ํ์
์ ์์ MONDAY๋ Week.MONDAY๋ก ์ฌ์ฉํ๋ค.
์์: ๊ฐ์ ํ ๋ฒ ์ ์ฅํ๋ฉด ๋ณ๊ฒฝํ ์ ์๋ ๋ณ์. ์์์ ์ด๋ฆ์ ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๋ ๊ฒ์ด ๊ด๋ก์ด๋ค. ์๋ก ๋ค๋ฅธ ๋จ์ด๊ฐ ํผํฉ๋ ์ด๋ฆ์ด๋ผ๋ฉด _๋ก ๋จ์ด๋ค์ ์ฐ๊ฒฐํด์ค๋ค.
์์๋ ํ ๋ฒ ์ ํด์ง ๊ฐ์ ๋ค์ ๋ชป ๋ฐ๊พผ๋ค.
public enum LoginResult { LOGIN_SUCCESS, LOGIN_FAILED }
์ด๊ฑฐ ์์๊ฐ ์ฌ๋ฌ ๋จ์ด๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ์๋ ๋จ์ด ์ฌ์ด๋ฅผ ๋ฐ์ค(_)๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด ๊ด๋ก์ด๋ค.
File > New > Other์์ enum ์ ํ ๊ฐ๋ฅํ๋ค.
์์ ) p. 205
๋ฌธ์, ์ซ์ ์๊ด ์๋ค.
public enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATERDAY,
SUNDAY
}
2) ์ด๊ฑฐ ํ์ ๋ณ์ p. 206
์ด๊ฑฐ ํ์
์ผ๋ก ์ ์ธ๋ ๋ณ์๋ฅผ ๋งํ๋ค. ์ด๊ฑฐ ํ์
๋ณ์์๋ ์ด๊ฑฐ ์์ ์ค ํ๋๊ฐ ๋์
๋๋ค.
ex) Week today = Week.FRIDAY;
today๊ฐ ์ด๊ฑฐ ํ์
๋ณ์์ด๋ค.
์ด๊ฑฐ ํ์
๋ ํ๋์ ํ์
์ด๋ฏ๋ก ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ฌ์ฉํด์ผ ํ๋ค.
์ด๊ฑฐํ์
๋ณ์;
Week today;
Week reservationDay;
์ด๊ฑฐ ์์๋ฅผ ์ ์ฅํ ์ ์๋ค. ๋จ๋
์ผ๋ก ์ฌ์ฉํ ์ ์๊ณ ๋ฐ๋์ '์ด๊ฑฐ ํ์
.์ด๊ฑฐ์์' ํํ๋ก ์ฌ์ฉํ๋ค.
Week today = Week.SUNDAY;
์ด๊ฑฐ ํ์
๋ ์ฐธ์กฐ ํ์
์ด๋ฏ๋ก null ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
Week birthday = null;
์ด๊ฑฐ ์์๋ ๊ฐ์ฒด๋ก ์์ฑ๋๋ค.
ex) ์ด๊ฑฐ ํ์
๋ณ์ Week์ ๊ฒฝ์ฐ MONDAY๋ถํฐ SUNDAY๊น์ง์ ์ด๊ฑฐ ์์๋ ์ด 7๊ฐ์ WEEK ๊ฐ์ฒด๋ก ์์ฑ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฉ์๋ ์์ญ์ ์์ฑ๋ ์ด๊ฑฐ ์์๊ฐ ํด๋น Week ๊ฐ์ฒด๋ฅผ ๊ฐ๊ฐ ์ฐธ์กฐํ๊ฒ ๋๋ค.
Week today = Week.Sunday;
์ด๊ฑฐ ํ์
๋ณ์ today๋ ์คํ ์์ญ(๋ณ์ ์์ฑ)์ ์์ฑ๋๋ค. today์ ์ ์ฅ๋๋ ๊ฐ์ Week.SUNDAY ์ด๊ฑฐ์์๊ฐ ์ฐธ์กฐํ๋ ๊ฐ์ฒด์ ๋ฒ์ง์ด๋ค.
๋ฐ๋ผ์ ์ด๊ฑฐ ์์ Week.SUNDAY์ today ๋ณ์๋ ์๋ก ๊ฐ์ Week ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ฒ ๋๋ค.
๊ทธ๋์ today ๋ณ์์ Week.SUNDAY ์์์ == ์ฐ์ฐ ๊ฒฐ๊ณผ๋ true๊ฐ ๋๋ค.
today == Week.SUNDAY; //true
week1๊ณผ week2๋ ๋ชจ๋ Week.SATURDAY ์์๋ผ๋ ๋์ผํ Week ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ฏ๋ก week1๊ณผ week2์ == ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ true๊ฐ ๋๋ค.
Week week1 = Week.SATURDAY;
Week week1 = Week.SATURDAY;
System.out.println( week1 == week2 ); //true
์๋ฐ๋ ์ปดํจํฐ์ ๋ ์ง ๋ฐ ์์ผ, ์๊ฐ์ ์ป๊ธฐ ์ํด Caledar ํด๋์ค๋ฅผ ์ ๊ณตํ๋ค.
Calendar ๋ณ์๋ฅผ ์ ์ธํ๊ณ Calendar.getInstance() ๋ฉ์๋๋ก Calendar ๊ฐ์ฒด๋ฅผ ์ป๋๋ค.
Calendar now = Calendar.getInstance();
get() ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ์ฐ, ์, ์ผ, ์์ผ, ์๊ฐ, ๋ถ, ์ด๋ฅผ ์ป์ ์ ์๋ค.
int year = now.get(Calendar.YEAR); //์ฐ
int month = now.get(Calendar.MONTH) + 1; //์(1~12)
int day = now.get(Calendar.DAY_OF_MONTH); //์ผ
int week = now.get(Calendar.DAY_OF_WEEK); //์์ผ(1~7)
int hour = now.get(Calendar.HOUR); //์๊ฐ
int minute = now.get(Calendar.MINUTE); //๋ถ
int second = now.get(Calendar.SECOND); //์ด
์์ ) ์ด๊ฑฐ ํ์
๊ณผ ์ด๊ฑฐ ์์ p. 209
public class P208EnumWeekExample {
public static void main(String[] args) {
//int a = 10;
Week today = null; //์ด๊ฑฐ ํ์
๋ณ์ ์ ์ธ
//int a = 10;
Calendar cal = Calendar.getInstance();//Calendar ๊ฐ์ฒด๋ฅผ ์ป๋๋ค.
int week = cal.get(Calendar.DAY_OF_WEEK); //์ผ(1)~ํ (7)๊น์ง์ ์ซ์๋ฅผ ๋ฆฌํดํ๋ค.
switch(week) {
case 1:
today = Week.SUNDAY; break;
case 2:
today = Week.MONDAY; break;
case 3:
today = Week.TUESDAY; break;
case 4:
today = Week.WEDNESDAY; break;
case 5:
today = Week.THURSDAY; break;
case 6:
today = Week.FRIDAY; break;
case 7:
today = Week.SATERDAY; break;
}
System.out.println("์ค๋ ์์ผ: " + today);
if(today==Week.SUNDAY) {
System.out.println("์ค๋ ์์ผ: " + today);
}else {
System.out.println("์ด์ฌํ ์๋ฐ ๊ณต๋ถํฉ๋๋ค.:)");
}
}
}
๊ฒฐ๊ณผ)
์ค๋ ์์ผ: WEDNESDAY
์ด์ฌํ ์๋ฐ ๊ณต๋ถํฉ๋๋ค.:)
๋ง๋ฌด๋ฆฌ p. 210
4๊ฐ์ง ํค์๋๋ก ๋๋ด๋ ํต์ฌ ํฌ์ธํธ
1) ์ด๊ฑฐ ํ์ : ์ด๊ฑฐ ํ์ ์ ๋ช ๊ฐ์ง๋ก ์ ํ๋ ์์๋ฅผ ๊ฐ์ง๋ ํ์ ์ ๋งํ๋ค.
2) ์ด๊ฑฐ ํ์
์ ์ธ: enum ํ์
{์์, ์์, ...} ํํ๋ก ์ด๊ฑฐ ํ์
์ ์ ์ธํ๋ค.
ex) enum Week { MONDAY, ... , SUNDAY}
3) ์ด๊ฑฐ ์์: ์ด๊ฑฐ ํ์
์ ์ธ ๋ ์ฃผ์ด์ง ์์๋ฅผ ๋งํ๋ฉฐ ํ์
.์์ ํํ๋ก ์ฌ์ฉํ๋ค.
ex) Week ์ด๊ฑฐ ํ์
์ ์์ MONDAY๋ Week.MONDAY๋ก ์ฌ์ฉํ๋ค.
4) ์ด๊ฑฐ ํ์
๋ณ์: ์ด๊ฑฐ ํ์
์ผ๋ก ์ ์ธ๋ ๋ณ์๋ฅผ ๋งํ๋ค. ์ด๊ฑฐ ํ์
๋ณ์์๋ ์ด๊ฑฐ ์์ ์ค ํ๋๊ฐ ๋์
๋๋ค.
ex) Week today = Week.FRIDAY;
today๊ฐ ์ด๊ฑฐ ํ์
๋ณ์์ด๋ค.