static
static(์ ์ ๋ฉค๋ฒ)๋ ํด๋์ค์ ์์๋ ๋ฉค๋ฒ๋ก์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ ํ๋์ ๋ฉ์๋๋ฅผ ์๋ฏธํ๋ค.
์ค๋ก์ง ํด๋์ค๋ฅผ ํตํด์๋ง ํธ์ถ๋จ.
public class StaticMethod {
public static void main(String[] args) {
Bank kakao = new Bank("์นด์นด์ค",1000);
Bank toss = new Bank("ํ ์ค", 1000);
Bank kb = new Bank("๊ตญ๋ฏผ", 0);
kakao.setDeposit(2000);
kakao.setWithdraw(1580);
kakao.viewAccount();
System.out.println(Bank.getCount()); // getCount()๋ ์ ์ ๋ฉ์๋์ด๋ฉฐ, ํด๋์ค ์์
}
}
* getCount()๋ Bank(ํด๋์ค)์ ์ํด ํธ์ถ
private static int count = 0;
-> Bank Class๊ฐ ๋ช ๋ฒ ์์ฑ๋์๋์ง ๋์ ํ๋ ์ ์ ๋ฉค๋ฒ(ํด๋์ค ํ๋)
public static int getCount() {}
-> ์ ์ ๋ฉ์๋์ด๋ฉฐ ์ ์ ๋ฉค๋ฒ์ ๋ํ getter
public void setDeposit(final int dep){} // ์๊ธ์ ์ํ ๋ฉ์๋
-> ๋งค๊ฐ๋ณ์์ ์ฌ์ฉ๋ final์ ์ ๋ฌ ๋ฐ์ ๋งค๊ฐ๋ณ์๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ
public class Bank {
private static int count = 0; // ํด๋น ํด๋์ค๊ฐ ๊ฐ์ฒด๋ก ๋ช ๋ฒ ์์ฑ๋์๋์ง ํ์ธํ๋ ๋ณ์
private int account; // ๊ณ์ข
private String bank; // ์ํ ์ด๋ฆ
public Bank(String name, int account) { // ์์ฑ์๋ ํด๋์ค๊ฐ ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ง ๋ ํธ์ถ๋จ!!!!!
count++;
bank = name;
this.account = account;
System.out.println(name + "์ํ์ ๊ณ์ข๋ฅผ ๊ฐ์ค ํฉ๋๋ค. ์์ก์ " + account + "์ ์
๋๋ค.");
}
// ์ ์ ํ๋๊ฐ์ ์ฝ๊ธฐ ์ํ ์ ์ ๋ฉ์๋ (ํด๋์ค ์์)
// ํด๋์ค๊ฐ ๋ง๋ค์ด์ง ๋ ๋จ ํ ๋ฒ๋ง ๋ง๋ค์ด์ง. (๊ฐ์ฒด ์์์ด ์๋.)
public static int getCount() {
return count;
}
// (์๊ธ์ ์ํ ๋ฉ์๋) //๋งค๊ฐ๋ณ์๊ฐ ๋ฐ๋๋ฉด ์๋ ๊ฒฝ์ฐ final๋ก ์์์ฒ๋ฆฌ.. ์ต์ข
๊ฐ์ผ๋ก ์ ๋ฌ๋จ.
public void setDeposit(final int dep) { // ๋ณ๊ฒฝ ๋ถ๊ฐ ์ํ๋ก ๋ง๋ค์ด ์์ ํ๊ฒ ๋ณดํธ
account += dep;
System.out.println(dep + "์ ์๊ธ ํ์ต๋๋ค.");
}
// (์ถ๊ธ์ ์ํ ๋ฉ์๋)
public void setWithdraw(final int with) {
if(with > account) {
System.out.println("์์ก์ด ๋ถ์กฑ ํฉ๋๋ค.");
} else {
account -= with;
}
}
public void viewAccount() {
System.out.println("ํ์ฌ ์์ก์ " + account + "์ ์
๋๋ค.");
}
}
์์ฃผ ์ฌ์ฉํ๋ Utility ์์ฑ
static ๋ฉ์๋๋ ์ ํธ๋ฆฌํฐ์ฑ ๋ฉ์๋๋ฅผ ์์ฑํ ๋ ์์ฃผ ์ฌ์ฉ
์. Math ํจ์
ํธ์ถ, ๊ณ์ฐ๋ง ์ฌ์ฉ ํ ๊ฒฝ์ฐ์๋ ํ ํด๋์ค ๋ด์ static์ผ๋ก ์ข์ ์์ฑํ๋ฉด ํธํจ.
ํ์ํ ๋๋ง ๊ฐ์ ธ๋ค ์ฐ๋ฉด ๋๋ ๊ฐ์ฒด ์์ฑ ์ํด๋ ๋๊ณ ๊ฐ๋จํ์ด..
import java.text.SimpleDateFormat;
import java.util.Date;
public class Util {
public static String getCurrentDate(String fmt) {
SimpleDateFormat sdf = new SimpleDateFormat(fmt); // ํ์ฌ ์๊ฐ ์ถ๋ ฅ
return sdf.format(new Date());
}
}
public class StaticMethod {
public static void main(String[] args) {
System.out.println("ํ์ฌ ์๊ฐ์ ์ถ๋ ฅ ํฉ๋๋ค.");
System.out.println(Util.getCurrentDate("yyyy-MM-DD hh:mm:ss"));
}
}
final ํ๋์ ์์
๋ณํ์ง ์๋ ๋ถ๋ณ์ ๊ฐ์ ๊ฐ์ฒด๋ง๋ค ์ ์ฅ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์
๋จ ํ๋ฒ๋ง ์์ฑ๋์ด์ผ ํจ.. ๊ทธ๋ฌ๋ฏ๋ก static final ๋ฐ์ดํฐํ์ ์์๋ช ; ์ผ๋ก ์ ์ธ!!!!
final static String DOMAIN = "192.168.0.1";
package ์ ์ ๋ฉ์๋0116
import static ์ ์ ๋ฉ์๋0116.Util.DOMAIN;
public class StaticMethod{
public static void main(String[] args) {
System.out.println("๋๋ฉ์ธ ์ฃผ์ : " + DOMAIN);
}
}
=> ๋จ, ์ถ๋ ฅํ ๋ import ํด์ค์ผ ํจ!!!
import static ํจํค์ง๋ช .ํด๋์ค๋ช .๋ณ์๋ช ;
'๐๏ธ Backend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ(Java) - ์์ด์ปจ ๋ง๋ค๊ธฐ(๊ฐ์ฒด ์งํฅ ์์ ) (1) | 2023.01.19 |
---|---|
์๋ฐ(Java) - ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (11) ์ฑ๊ธํคSingleton (0) | 2023.01.18 |
์๋ฐ(Java) - ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (9) ์ ๊ทผ ์ ํ์ (1) | 2023.01.16 |
์๋ฐ(Java) - ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (8) super, super() (0) | 2023.01.16 |
์๋ฐ(Java) - ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (7) ๋คํ์ฑ (0) | 2023.01.16 |