728x90
๋ฐ˜์‘ํ˜•

1) ํŒจํ‚ค์ง€์™€ API ๋ฌธ์„œ

 

1-1) ์ž๋ฐ” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ค์ง€ ํ˜น์€ ๋ชจ๋“ˆ์„ ์••์ถ•ํ•œ ํŒŒ์ผ

 

1-2) ํŒจํ‚ค์ง€์™€ ๋ชจ๋“ˆ

  • ํŒจํ‚ค์ง€ : ์ƒํ˜ธ ๊ด€๋ จ ์žˆ๋Š” ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ•œ ๊ณณ์— ๋ฌถ์–ด ๋†“์€ ๊ฒƒ
  • ๋ชจ๋“ˆ : ๋ฐ€์ ‘ํ•œ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ํŒจํ‚ค์ง€์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ, JDK๋ฅผ ์„ค์น˜ํ•˜๋ฉด jmods ํด๋”์— jmod ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ jmod ํŒŒ์ผ์ด ๋ชจ๋“ˆ ํŒŒ์ผ

 

1-3) ์ž๋ฐ”์˜ ์ฃผ์š” ํŒจํ‚ค์ง€ ๋ฐ ๋ชจ๋“ˆ

 

1-4) API ๋ฌธ์„œ

  • ์ž๋ฐ”๋Š” ์ด๋Ÿฐ ํŒจํ‚ค์ง€๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก API ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜๋‹ค
  • ์‚ฌ์šฉ์ž๋Š” API๋กœ๋ถ€ํ„ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์ž„ํฌํŠธํ•˜๋ฉด ๋ชจ๋‹ˆํ„ฐ์™€ ํ‚ค๋ณด๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค
  • JDK์— ํฌํ•จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋งค์šฐ ๋ฐฉ๋Œ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋‘ ๊ธฐ์–ตํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํŒจํ‚ค์ง€๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ž๋Š” API ๋ฌธ์„œ๋ฅผ ์ž์ฃผ ์ฐธ์กฐํ•ด์•ผํ•œ๋‹ค

์ฃผ์†Œ : https://docs.oracle.com/en/java/javase/14/docs/api

- ๊ต์ˆ˜๋‹˜์ด ๊ณ„์† ๋ชจ๋ฅด๋Š”๊ฑฐ ์žˆ์œผ๋ฉด java.api ๋ณด๋ผ๊ณ  ๊ฐ•์กฐ๋ฅผ ํ•˜์‹ ๋‹ค. ๋Œ€๋ถ€๋ถ„ ์˜์–ด๋ผ ํ•ด์„ํ•˜๊ธฐ ํž˜๋“ค์–ด์„œ ๊ตฌ๊ธ€๋ง์ด๋‚˜ chat gpt๋ฅผ ๋งŽ์ด ์ฐพ์•„๋ณด๋Š”๋ฐ ์–ธ์  ๊ฐ€ ์˜์–ด ์‹ค๋ ฅ๊ณผ ์ฝ”๋”ฉ ์‹ค๋ ฅ์„ ํ‚ค์›Œ์„œ api๋งŒ๋“ค ์ด์šฉํ•˜์—ฌ ๋งŒ๋“ค์–ด๋„ ๋ณด๊ณ  ์‹ถ๋‹ค!!

 

2) java.lang ํŒจํ‚ค์ง€

 

2-1) ํ•„์ˆ˜ ํŒจํ‚ค์ง€

  • java.lang ํŒจํ‚ค์ง€๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณด๊ด€
  • import ๋ฌธ ์—†์ด ์‚ฌ์šฉ

 

2-2) Object ํด๋ž˜์Šค

  • ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์กฐ์ƒ
  • Object ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ๋ฉ”์„œ๋“œ

 

2-3) Class ํด๋ž˜์Šค

  • ์‹คํ–‰ ์ค‘์ธ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์— ํฌํ•จ๋œ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ ค๊ณ  getName(), getSimpleName() ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณต
  • Class ํด๋ž˜์Šค๋Š” ์ƒ์„ฑ์ž๊ฐ€ ์—†๊ณ  ์–ด๋–ค ๊ฐ์ฒด๋ผ๋„ ์ƒ์„ฑํ•˜๋ฉด  JVM์ด ๋Œ€์‘ํ•˜๋Š” Class ๊ฐ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ
  • ์‹คํ–‰ ๋„์ค‘ ๊ฐ์ฒด ์ •๋ณด๋ฅผ ์–ป์œผ๋ ค๋ฉด  getClass()์˜ ๊ฒฐ๊ณผ์ธ Class ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉ
  • ex) ์ฃผ์–ด์ง„ obj๊ฐ์ฒด์—์„œ Class ๊ฐ์ฒด๋ฅผ ์–ป์œผ๋ ค๋ฉด 

 

2-4) Math ํด๋ž˜์Šค

  • ๋ชจ๋“  ๋ฉ”์„œ๋“œ๊ฐ€ static์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ
  • Math ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” double ํƒ€์ž…์˜ ๋ฉ”์„œ๋“œ

public class MathDemo {

        public static void main(String[] args) {

              System.out.println("Math.pow(2,8):" + Math.pow(2, 8));

              System.out.println("Math.random():" + Math.random());

              System.out.println("Math.sin(Math.PI):" + Math.sin(Math.PI));

              System.out.println("Math.min(10,20):" + Math.min(10, 20));

       }

}

๋‹ต์€

Math.pow(2,8):256.0

Math.random():0.5957544835893684

Math.sin(Math.PI):1.2246467991473532E-16

Math.min(10,20):10

 

2-5) System ํด๋ž˜์Šค

  • ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์„ ๋น„๋กฏํ•œ ์‹คํ–‰ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ๋œ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ static์œผ๋กœ ์ œ๊ณต
  • System.out.println()๋„ System ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ
  • System ํด๋ž˜์Šค์˜ ์„ธ๊ฐ€์ง€ ํ•„๋“œ

 

  • ์ž๋ฐ”์—์„œ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ํ• ๋‹น๋ฐ›์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ JVM์ด ๊ด€๋ฆฌ
  • JVM์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€๋น„์ง€๋ฅผ ์ˆ˜๊ฑฐ
  • ๊ฐ€๋น„์ง€๋ฅผ ์ˆ˜๊ฑฐํ•˜๋Š” ์ˆœ์„œ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ ์ˆœ์„œ์™€๋Š” ๋ฌด๊ด€
  • ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ฅผ ์ง์ ‘ ํ˜ธ์ถœ ๋ถˆ๊ฐ€, ๋Œ€์‹ ์— System.gc()๋กœ JVM์— ๊ฐ€๋Šฅํ•˜๋ฉด ๋นจ๋ฆฌ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์š”์ฒญ ๊ฐ€๋Šฅ

class Garbage {

        public int no;

        public Garbage(int no) {

               this.no = no;

               System.out.printf("Garbage(%d)์ƒ์„ฑ\n", no);

         }

         protected void finalize() {

                 System.out.printf("Garbage(%d)์ˆ˜๊ฑฐ\n", no);

         }

         }

public class GarbageDemo {

       public static void main(String[] args) {

              for (int i = 0; i < 3; i++)

                    new Garbage(i);

       }

}

๋‹ต์€

Garbage(0)์ƒ์„ฑ

Garbage(1)์ƒ์„ฑ

Garbage(2)์ƒ์„ฑ

๊ฐ€๋น„์ง€์˜ ์ƒ์„ฑ ์ˆœ์„œ์™€ ์ˆ˜๊ฑฐ ์ˆœ์„œ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค!!

 

2-6) ํฌ์žฅ ํด๋ž˜์Šค

  • ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋Š” ์ฐธ์กฐ ํƒ€์ž…์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ดˆ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ํŠน์ง•์„ ์ด์šฉ ๋ถˆ๊ฐ€
  • ์ž๋ฐ”๋Š” ๊ธฐ์ดˆ ํƒ€์ž…์„ ํฌ์žฅํ•ด ํด๋ž˜์Šคํ™” ํ•œ ํฌ์žฅ ํด๋ž˜์Šค(wrapper class)๋ฅผ ์ œ๊ณตํ•ด์„œ ๊ธฐ์ดˆ ํƒ€์ž… ๋ฐ์ดํ„ฐ๋„ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๋ฅผ ํ™œ์šฉํ•˜๋„๋ก ํ•จ
  • ๋ชจ๋“  ๊ธฐ์ดˆ ํƒ€์ž…์— ๋Œ€์‘ํ•˜๋Š” ํฌ์žฅ ํด๋ž˜์Šค๊ฐ€ ์žˆ์œผ๋ฉฐ, int์™€ char ํƒ€์ž…์— ๋Œ€์‘ํ•˜๋Š” ํฌ์žฅ ํด๋ž˜์Šค๋Š” ๊ฐ๊ฐ Integer์™€ Character์ด๋ฉฐ, ๋‚˜๋จธ์ง€ ํฌ์žฅ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์€ ๊ธฐ์ดˆ ํƒ€์ž…์˜ ์ฒซ ์˜๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พผ ๊ฒƒ์ด๋‹ค
  • Integer ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ๋ฉ”์„œ๋“œ

  • ๊ธฐ์ดˆ ํƒ€์ž… ๋ฐ์ดํ„ฐ๋ฅผ ํฌ์žฅํ•ด ๊ฐ์ฒดํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ฐ•์‹ฑ(boxing), ๋ฐ˜๋Œ€ ๊ณผ์ •์„ ์–ธ๋ฐ•์‹ฑ(unboxing)

  • ๋ฐ•์‹ฑ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ํฌ์žฅ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋‚˜ valueOf()๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
๋”๋ณด๊ธฐ

Interger bi = new Integer(10);      // ๋ฐ•์‹ฑ

Integer bi = Integer.valueOf(10)   // ๋ฐ•์‹ฑ

public class WrapperDemo {

       public static void main(String[] args) {

              Integer bi1 = new Integer(10);           // Integer ํƒ€์ž… ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค

              int i1 = bi1.intValue();                         // Integer ํƒ€์ž…์„ int ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค    

              double d = bi1.doubleValue();            // Integer ํƒ€์ž…์„ double ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค

              Integer bi2 = 20;                                 // ์ž๋™ ๋ฐ•์‹ฑ์ด๋‹ค

               int i2 = bi2 + 20;                                 // ์ž๋™ ์–ธ๋ฐ•์‹ฑ์ด๋‹ค

               String s1 = Double.toString(3.14);     // double ํƒ€์ž… ๋ฐ์ดํ„ฐ๋ฅผ String ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค

               Float pi = Float.parseFloat("3.14");   // String ํƒ€์ž… ๋ฐ์ดํ„ฐ๋ฅผ Float ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค

               Integer bi3 = Integer.valueOf("11", 16);  // 16์ง„์ˆ˜ ์ˆซ์ž ๋ฌธ์ž์—ด์„ 10์ง„์ˆ˜ Integer ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค

               System.out.println(bi3);

        }

}

๋‹ต์€

17

 

728x90
๋ฐ˜์‘ํ˜•

+ Recent posts