๐ป IT/์๋ฐ
-
์์ฑ์(Constructor)2024.03.06
-
์ค๋ฒ๋ก๋ฉ (overloading)2024.03.06
-
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ2024.03.05
์์ฑ์(Constructor)
์์ฑ์ : ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋๋ '์ธ์คํด์ค ์ด๊ธฐํ ๋ฉ์๋'์ด๋ค.
โ์ธ์คํด์ค์ ํน์ง
โ ์์ฑ์์ ์ด๋ฆ์ ํด๋์ค์ ์ด๋ฆ๊ณผ ๊ฐ์์ผํ๋ค.
โ ํด๋์ค ๋ด์ ์ ์ธ๋๋ฉฐ, ๊ตฌ์กฐ๊ฐ ๋ฉ์๋์ ์ ์ฌํ์ง๋ง ๋ฆฌํด๊ฐ์ด ์๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
โ ๊ทธ๋ ๋ค๊ณ ์์ฑ์ ์์ void๋ฅผ ์ ์ง๋ ์๋๋ค.
โ ์์ฑ์๊ฐ ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์๋๋ค. ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ํด๋์ค ๋ด์ ์ ์๋ ์์ฑ์ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์ง์ ํ๋ค.
ex
class Card{
Card(){ //๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์
...
}
Card(String k, int num){ //๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์
...
}
}
โ๊ธฐ๋ณธ ์์ฑ์
โ ๋ชจ๋ ํด๋์ค์๋ ๋ฐ๋์ ํ๋ ์ด์์ ์์ฑ์๊ฐ ์ ์๋์ด ์์ด์ผํ๋ค.
โ ํด๋์ค์ ์ ์ ๋ ์์ฑ์๊ฐ ํ๋๋ ์์ ๋ ์ปดํ์ผ๋ฌ์ ์ํด์ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์๋์ผ๋ก ์ถ๊ฐ๋๋ค.
โ์์ฑ์์์ ๋ค๋ฅธ ์์ฑ์ ํธ์ถํ๊ธฐ
โ ์์ฑ์์ ์ด๋ฆ์ผ๋ก ํด๋์ค ์ด๋ฆ ๋์ this๋ฅผ ์ฌ์ฉํ๋ค.
โ ํ ์์ฑ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถ ํ ๋๋ ๋ฐ๋์ ์ฒซ ์ค์์๋ง ํธ์ถ์ด ๊ฐ๋ฅํ๋ค.
- this : ์ธ์คํด์ค ์์ ์ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๋ณ์, ์ธ์คํด์ค์ ์ฃผ์๊ฐ ์ ์ฅ๋์ด์๋ค.
- this(), this(๋งค๊ฐ๋ณ์) : ์์ฑ์. ๊ฐ์ ํด๋์ค์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถ ํ ๋ ์ฌ์ฉํ๋ค.
'๐ป IT > ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค๋ฒ๋ก๋ฉ (overloading) (0) | 2024.03.06 |
---|---|
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2024.03.05 |
[์๋ฐ] LocalDateTime์ผ๋ก ํ์ฌ ์ผ + ๋์ ์ผ ์ถ๋ ฅํ๊ธฐ (0) | 2023.12.13 |
์ค๋ฒ๋ก๋ฉ (overloading)
์ค๋ฒ๋ก๋ฉ : ํ ํด๋์ค ๋ด์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ ํ๋ ๊ฒ์ '๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ' ๋๋ '์ค๋ฒ๋ก๋ฉ' ์ด๋ผํ๋ค.
โ์ค๋ฒ๋ก๋ฉ์ ์กฐ๊ฑด
1. ๋ฉ์๋ ์ด๋ฆ์ด ๊ฐ์์ผํ๋ค.
2. ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋๋ ํ์ ์ด ๋ฌ๋ผ์ผํ๋ค.
โ์ค๋ฒ๋ก๋ฉ์ ์
๋ํ์ ์ธ ์๋ println๋ฉ์๋์ด๋ค.
println๋ฉ์๋๋ ํธ์ถ ์ ๋งค๊ฐ๋ณ์๋ก ์ง์ ํ๋ ๊ฐ์ ํ์ ์ ๋ฐ๋ผ ํธ์ถ๋๋ println๋ฉ์๋๊ฐ ๋ฌ๋ผ์ง๋ค.
ex
long add(int a, long b) {return a+b;}
long add(long a, int b) {return a+b;}
๋ ๋ฉ์๋๋ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ํด ํธ์ถ ๋ ๋ฉ์๋๊ฐ ๊ตฌ๋ถ๋ ์ ์์ผ๋ฏ๋ก ์ค๋ณต๋ ๋ฉ์๋๊ฐ ์๋ ์ค๋ฒ๋ก๋ฉ์ผ๋ก ๊ฐ์ฃผํ๋ค.
โ์ค๋ฒ๋ก๋ฉ์ ์ฅ์
1. ๋ฉ์๋๋ค์ด (println์ฒ๋ผ) ํ๋์ ์ด๋ฆ์ผ๋ก ์ ์ ๋ ์ ์๋ค. (๊ธฐ๋ฅ ์์ธก ๊ฐ๋ฅ)
2. ์ด๋ฆ์ ์ ์ฝํ ์ ์๋ค.
โ๊ฐ๋ณ์ธ์์ ์ค๋ฒ๋ก๋ฉ
๊ฐ๋ณ์ธ์ : ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ฅผ ๋์ ์ผ๋ก ์ง์ ํด ์ค ์ ์๋ค. 'ํ์ ...๋ณ์๋ช '๊ณผ ๊ฐ์ ํ์์ผ๋ก ์ ์ธํ๋ค.
ex
String concatenate(String s1, String s2){...}
String concatenate(String s1, String s2, String s3){...}
String concatenate(String s1, String s2, String s3, String s4){...}
//๊ฐ๋ณ์ธ์๋ฅผ ์ฌ์ฉ
String concatenate(String...str){...}
'๐ป IT > ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ฑ์(Constructor) (0) | 2024.03.06 |
---|---|
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2024.03.05 |
[์๋ฐ] LocalDateTime์ผ๋ก ํ์ฌ ์ผ + ๋์ ์ผ ์ถ๋ ฅํ๊ธฐ (0) | 2023.12.13 |
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
**๊ฐ์ฒด ์งํฅ**
์ค์ ์ฌ๋ฌผ์ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ๋ถ์ ํ ๋ค์, ๋ฐ์ดํฐ(๋ณ์)์ ํจ์๋ก ์ ์ํจ์ผ๋ก์ ์ค์ ์ธ๊ณ๋ฅผ ์ปดํจํฐ ์์ ์ฎ๊ฒจ ๋์ ๊ฒ๊ณผ ๊ฐ์ ๊ฐ์ ์ธ๊ณ๋ฅผ ๊ตฌํํ๊ณ ์ด ๊ฐ์์ธ๊ณ์์ ๋ชจ์ ์คํ์ ํจ์ผ๋ก์จ ๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ ์ ์ฝํ ์ ์๋ค.
-- ๊ฐ์ฒด ์งํฅ ์ธ์ด์ ์ฃผ์ ํน์ง
1. ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค.
2. ์ฝ๋์ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ค.
3. ์ ๋ขฐ์ฑ์ด ๋์ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
'์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๊ณ ์ ์ง ๋ณด์๊ฐ ์ฉ์ดํ๋ค'
--ํด๋์ค๋ (๊ฐ์ฒด ์งํฅ์ด๋ก ๊ด์ )
'๊ฐ์ฒด๋ฅผ ์ ์ํด ๋์๊ฒ ', '๊ฐ์ฒด์ ์ค๊ณ๋ ๋๋ ํ' ๊ฐ์ฒด ๊ทธ ์์ฒด๋ X
ํด๋์ค์ ์ฉ๋ : ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ค.
ex) ํด๋์ค : ์ ํ ์ค๊ณ๋ / ๊ฐ์ฒด : ์ ํ
๋ถ์ด๋นต ๊ธฐ๊ณ / ๋ถ์ด๋นต
--ํด๋์ค๋(ํ๋ก๊ทธ๋๋ฐ์ ๊ด์ )
๋ฐ์ดํฐ์ ํจ์์ ๊ฒฐํฉ์ด๋ค
--๊ฐ์ฒด๋
'์ค์ ๋ก ์กด์ฌํ๋ ๊ฒ' (์ฌ๋ฌผ ๋๋ ๊ฐ๋ )
ex) ์ ํ์ ๊ฐ์ฒด : ์ฑ ์, ์์, ์๋์ฐจ
๋ฌดํ์ ๊ฐ์ฒด : ์ํ๊ณต์, ํ๋ก๊ทธ๋จ ์๋ฌ, ์ฌ๋
--ํด๋์ค๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ด์
โ ๊ฐ์ฒด ์์ฑ์ด ์ฌ์์ง๋ค.
โ ํด๋์ค๋ฅผ ํ๋ฒ ์ ๋ง๋ค์ด ๋์ผ๋ฉด, ๋งค๋ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ง๋ค ์ด๋ป๊ฒ ๋ง๋ค์ด์ผํ ์ง ๊ณ ๋ฏผ ์ํด๋ ๋จ
โ ๊ฐ์ฒด๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค.
โ ํด๋์ค๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด, ํด๋์ค์ ์ ์๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ๊ฐ์ง ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง๋ค.
์์ฑ -> ๋ฉค๋ฒ๋ณ์ ex) ๊ธธ์ด, ๋์ด, ์์, ๋ณผ๋ฅจ
๊ธฐ๋ฅ -> ๋ฉ์๋ ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค ex) ์ผ๊ธฐ, ๋๊ธฐ, ๋ณผ๋ฅจ ๋์ด๊ธฐ, ๋ณผ๋ฅจ ๋ฎ์ถ๊ธฐ
public class Tv {
// ๋ณ์
String color;
boolean power;
int channel;
//๋ฉ์๋
void power(){power = !power;}
void channelUp(){channel++;}
void channelDown(){channel--;}
}
โ ์ด๋ค ํด๋์ค๋ก๋ถํฐ ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ฅผ ๊ทธ ํด๋์ค์ ์ธ์คํด์ค๋ผ๊ณ ํ๋ค. (=๊ฐ์ฒด)
์ธ์คํด์ค ์์ฑ
TV t; // TVํด๋์ค์ ์ฐธ์กฐ๋ณ์ t์ ์ธ
t = new Tv(); //Tv์ธ์คํด์ค ์์ฑ ํ, ์ฃผ์๋ฅผ t์ ์ ์ฅ
ํ ์คํธ
class TvTest{
public static void main(String args[]) {
Tv t = new Tv();
t.channel = 7; //Tv์ธ์คํด์ค์ ๋ฉค๋ฒ๋ณ์์ ๊ฐ์ 7๋กํ๋ค.
t.channelDown(); //Tv์ธ์คํด์ค์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
System.out.println("ํ์ฌ ์ฑ๋์ "+ t.channel + "์
๋๋ค.");
}
}
//ํธ์ถ ๊ฒฐ๊ณผ
ํ์ฌ ์ฑ๋์ 6์
๋๋ค.
๊ฐ์ฒด ๋ฐฐ์ด ํ ์คํธ
public class TvTest4 {
public static void main(String[] args) {
Tv[] tvArr = new Tv[3]; //๊ธธ์ด๊ฐ 3์ธ Tv๊ฐ์ฒด ๋ฐฐ์ด
//Tv๊ฐ์ฒด๋ฅผ ์์ฑํด์ Tv๊ฐ์ฒด ๋ฐฐ์ด์ ๊ฐ ์์์ ์ ์ฅ
for (int i = 0; i < tvArr.length; i++) {
tvArr[i] = new Tv();
tvArr[i].channel = i+10;
}
for (int i = 0; i < tvArr.length; i++) {
tvArr[i].channelUp();
System.out.printf("tvArr[%d].channel=%d%n",i,tvArr[i].channel);
}
}
}
//์คํ๊ฒฐ๊ณผ
tvArr[0].channel=11
tvArr[1].channel=12
tvArr[2].channel=13
**๋ณ์**
๋ณ์๋ ํด๋์ค๋ณ์, ์ธ์คํด์ค ๋ณ์, ์ง์ญ ๋ณ์ 3์ข ๋ฅ๊ฐ ์๋ค.
class Variables{
int iv; //์ธ์คํด์ค ๋ณ์
static int cv; //ํด๋์ค ๋ณ์
void method(){
int lv = o; //์ง์ญ๋ณ์
}
}
์ธ์คํด์ค ๋ณ์ : ํด๋์ค ์์ญ์ ์ ์ธ๋๋ฉฐ, ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ๋ง๋ค์ด์ง๋ค.
์ธ์คํด์ค๋ ๋ ๋ฆฝ์ ์ธ ์ ์ฅ๊ณต๊ฐ์ ๊ฐ์ง๋ฏ๋ก ์๋ก ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
ํด๋์ค ๋ณ์ : ์ธ์คํด์ค ๋ณ์ ์์ static์ ๋ถ์ธ๋ค. ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ณตํต๋ ์ ์ฅ๊ณต๊ฐ์ ๊ณต์ ํ๊ฒ ๋๋ค.
๋ชจ๋ ์ธ์คํด์ค๋ค์ด ๊ณตํต๋ ๊ฐ์ ์ ์งํด์ผ ํ๋ ์์ฑ์ ๊ฒฝ์ฐ ์ ์ธํ๋ค.
์ง์ญ๋ณ์ : ๋ฉ์๋ ๋ด์ ์ ์ธ๋์ด ๋ฉ์๋ ๋ด์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ๋ฉ์๋๊ฐ ์ข ๋ฃ๋๋ฉด ์๋ฉธ๋์ด ์ฌ์ฉ ํ ์ ์๊ฒ๋๋ค.
์นด๋๊ฒ์ ์์
class Card{
String kind; //๋ฌด๋ฌ
int number; //์ซ์
static int width = 100;
static int height = 250;
}
๋ฐ๋ผ์ ์นด๋ ์ธ์คํด์ค๋ ์์ ๋ง์ ๋ฌด๋ฌ์ ์ซ์๋ฅผ ์ ์งํ๊ณ ์์ด์ผ ํ๋ฏ๋ก ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์๋ ์ธ์คํด์ค ๋ณ์
์นด๋์ ํฌ๊ธฐ๋ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๋์ผํด์ผ ํจ์ผ๋ก ํด๋์ค ๋ณ์
**๋ฉ์๋**
ํน์ ์์ ์ ์ํํ๋ ์ผ๋ จ์ ๋ฌธ์ฅ๋ค์ ํ๋๋ก ๋ฌถ์ ๊ฒ (์ํ์ ํจ์์ ์ ์ฌํ๋ฉฐ, ์ด๋ค ๊ฐ์ ์ ๋ ฅํ๋ฉด ์์ ์ํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.)
--๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
1. ๋์ ์ฌ์ฌ์ฉ์ฑ
2. ์ค๋ณต๋ ์ฝ๋์ ์ ๊ฑฐ
3. ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐํ
โ ๋งค๊ฐ๋ณ์ (parameter): ๋ฉ์๋๊ฐ ์์ ์ ์ํํ๋๋ฐ ํ์ํ ๊ฐ์ ์ ์ธํ๋ ๋ณ์ (๋ฐ์ดํฐ ํ์ ์ ๊ผญ ์ ์ธํด์ผ ํ๋ค) (=์๋ ์ง์ญ๋ณ์)
โ ์ธ์ (argument) : ๋งค๊ฐ๋ณ์ ์์ ๋ฃ์ ๊ฐ
int add(int x, int y) { //๋งค๊ฐ๋ณ์
int result = x + y;
return result;
}
public static void main(String args[]) {
int result = add(3, 5); //์ธ์
}
--๋ฆฌํด๋ฌธ (return)
โ ๋ฆฌํด๋ฌธ์ ํ์ฌ ์คํ์ค์ธ ๋ฉ์๋๋ฅผ ์ข ๋ฃํ๊ณ ํธ์ถํ ๋ฉ์๋๋ก ๋๋์๊ฐ๋ค.
โ ๋ฐํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฉ์๋ ์ด๋ฆ ์์ void๋ฅผ ์ ์ด์ผํ๋ค.
(์๋ ๋ชจ๋ ๋ฉ์๋์๋ ํ๋์ ๋ฆฌํด ๊ฐ์ด ์์ด์ผํ๋ค. ํ์ง๋ง void์ธ ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ๊ฐ ๋ง์ง๋ง์ return์ ์๋ ์ถ๊ฐํด์ค๋ค)
โ ๋ฐํ ๊ฐ์ ๋ฉ์๋์ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ผ์นํด์ผ ํ๋ค.
์ฐธ๊ณ : ์๋ฐ์ ์ ์
'๐ป IT > ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ฑ์(Constructor) (0) | 2024.03.06 |
---|---|
์ค๋ฒ๋ก๋ฉ (overloading) (0) | 2024.03.06 |
[์๋ฐ] LocalDateTime์ผ๋ก ํ์ฌ ์ผ + ๋์ ์ผ ์ถ๋ ฅํ๊ธฐ (0) | 2023.12.13 |
[์๋ฐ] LocalDateTime์ผ๋ก ํ์ฌ ์ผ + ๋์ ์ผ ์ถ๋ ฅํ๊ธฐ
์
//ํ์ฌ ๋ ์ง ๋ฐ์์ค๊ธฐ
LocalDateTime now = LocalDateTime.now();
//ํ์ฌ ์ผ(์ ๊ธฐ์ค) day์ ๋ฐ๊ธฐ
int day = now.getDayOfMonth();
//ํ์ฌ ์ month์ ๋ฐ๊ธฐ
Month month = now.getMonth();
//์ด๋ฒ ๋ฌ ๊ธฐ์ค ํ์ฌ ์ผ ๊ธฐ์ค์ผ๋ก 31์ผ๊น์ง ์ถ๋ ฅ
for (int i = day; i < 32; i++) {
//ํ๊ธ๋ก ์ถ๋ ฅ December -> 12์
System.out.println(month.getDisplayName(TextStyle.NARROW, Locale.KOREAN) + " " + day + "์ผ");
day++;
}
์ถ๋ ฅ ๊ฒฐ๊ณผ

'๐ป IT > ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ฑ์(Constructor) (0) | 2024.03.06 |
---|---|
์ค๋ฒ๋ก๋ฉ (overloading) (0) | 2024.03.06 |
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2024.03.05 |