java λ³€μˆ˜

moonseunghaΒ·2022λ…„ 12μ›” 6일
0

eclipse - java programming

λͺ©λ‘ 보기
2/11

πŸ“Œλ³€μˆ˜

  • λ©”λͺ¨λ¦¬(RAM) 상에 값을 κΈ°λ‘ν•˜κΈ° μœ„ν•œ 곡간
  • μžλ£Œν˜•μ— λ§žλŠ” ν•œκ°œμ˜ κ°’λ§Œ 담을 수 있음
  • κ°’ λ³€κ²½ κ°€λŠ₯
  • μ „μ—­ λ³€μˆ˜
    클래슀 μ˜μ—­μ— λ°”λ‘œ μ„ μ–Έν•œ λ³€μˆ˜
    클래슀 λ‚΄ λͺ¨λ“  κ³³μ—μ„œ μ‚¬μš© κ°€λŠ₯
    • 멀버 λ³€μˆ˜ == μΈμŠ€ν„΄μŠ€ λ³€μˆ˜
      μƒμ„±μ‹œμ  : new μ—°μ‚°μžλ₯Ό ν†΅ν•œ 객체 μƒμ„±μ‹œ
      μ†Œλ©Έμ‹œμ  : 객체 μ†Œλ©Έμ‹œ
    • 클래슀 λ³€μˆ˜ == static λ³€μˆ˜
      μƒμ„±μ‹œμ  : ν”„λ‘œκ·Έλž¨ μ‹€ν–‰κ³Ό λ™μ‹œμ— λ©”λͺ¨λ¦¬μ˜μ—­ 쀑 staticμ˜μ—­μ— ν• λ‹Ή
      μ†Œλ©Έμ‹œμ  : ν”„λ‘œκ·Έλž¨ μ’…λ£Œμ‹œ μ†Œλ©Έ
  • 지역 λ³€μˆ˜
    클래슀 μ˜μ—­ λ‚΄μ˜ νŠΉμ • ꡬ역(λ©”μ†Œλ“œ, μ œμ–΄λ¬Έ, ...)에 μ„ μ–Έν•œ λ³€μˆ˜
    μ„ μ–Έλœ νŠΉμ • ꡬ역 λ‚΄μ—μ„œλ§Œ μ‚¬μš© κ°€λŠ₯
    μƒμ„±μ‹œμ  : 지역 λ³€μˆ˜κ°€ μ†ν•΄μžˆλŠ” νŠΉμ • ꡬ역 μ‹€ν–‰(호좜)μ‹œ λ©”λͺ¨λ¦¬μ˜μ—­μ— ν• λ‹Ή
    μ†Œλ©Έμ‹œμ  : νŠΉμ • ꡬ역 μ’…λ£Œμ‹œ μ†Œλ©Έ

πŸ“Œλ³€μˆ˜ μ‚¬μš© λͺ©μ 

  • 값에 의미λ₯Ό λΆ€μ—¬ν•  수 있음 β†’ 가독성 쒋아짐
  • ν•œλ²ˆ 값을 μ €μž₯해두고 계속 μ‚¬μš©ν•  수 있음 β†’ μ½”λ“œλŸ‰ κ°μ†Œ
  • 일괄적인 변경이 κ°€λŠ₯ β†’ μœ μ§€λ³΄μˆ˜μ— 용이

πŸ“Œλ³€μˆ˜μ˜ μ„ μ–Έ

  • λ©”λͺ¨λ¦¬ 곡간에 데이터λ₯Ό μ €μž₯ν•  수 μžˆλŠ” 곡간(μžλ£Œν˜•μ˜ 크기만큼)을 ν• λ‹Ήν•˜λŠ” 것
  • μžλ£Œν˜• : λ³€μˆ˜μ˜ 크기, μ’…λ₯˜λ₯Ό 정함
  • λ³€μˆ˜λͺ… : λ³€μˆ˜μ˜ 이름을 정함(μ˜λ―ΈλΆ€μ—¬). λ³€μˆ˜λͺ… 쀑볡 λΆˆκ°€
package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
        	μžλ£Œν˜• λ³€μˆ˜λͺ…;

πŸ“Œλ³€μˆ˜μ— λŒ€μž…

package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
        	λ³€μˆ˜λͺ… = κ°’;

πŸ“Œλ³€μˆ˜ μ„ μ–Έκ³Ό λ™μ‹œμ— λŒ€μž…

package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
			μžλ£Œν˜• λ³€μˆ˜λͺ… = κ°’;

πŸ“Œλ³€μˆ˜μ˜ μ΄ˆκΈ°ν™”

  • λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜κΈ° 전에 처음으둜(졜초둜) 값을 μ €μž₯ν•˜λŠ” 것
  • μ§€μ—­λ³€μˆ˜λŠ” λ°˜λ“œμ‹œ μ΄ˆκΈ°ν™”ν•΄μ•Όν•¨

πŸ“Œλ°μ΄ν„° μ €μž₯ λ‹¨μœ„

μ €μž₯ 곡간이 μ œν•œμ μ΄λ―€λ‘œ μ €μž₯ 크기에 λŒ€ν•œ κΈ°μ€€κ³Ό CPUκ°€ 데이터λ₯Ό μ²˜λ¦¬ν•  λ•Œ μΌμ •ν•œ κΈ°μ€€ ν•„μš”

  • bit
    컴퓨터가 λ‚˜νƒ€λ‚΄λŠ” λ°μ΄ν„°μ˜ μ €μž₯ μ΅œμ†Œ λ‹¨μœ„λ‘œ 2μ§„μˆ˜ κ°’ ν•˜λ‚˜λ₯Ό μ €μž₯ν•  수 μžˆλŠ” λ©”λͺ¨λ¦¬κ³΅κ°„
  • byte
    데이터 처리 λ˜λŠ” 문자의 μ΅œμ†Œ λ‹¨μœ„λ‘œμ„œ 8개의 bitκ°€ λͺ¨μ—¬ 1개의 byteκ°€ ꡬ성됨

πŸ“Œμžλ£Œν˜•

- λ…Όλ¦¬ν˜•

1byte boolean

- μˆ«μžν˜• - 1) μ •μˆ˜ν˜•

1byte byte
2byte short
4byte int(κΈ°λ³Έν˜•)
8byte long(L)

- μˆ«μžν˜• - 2) μ‹€μˆ˜ν˜•

4byte float(f)
8byte double(κΈ°λ³Έν˜•) : 더 큰 값을 λ‹΄λŠ”κ²Œ μ•„λ‹ˆλΌ 더 μ •ν™•ν•œ 값을 λ‹΄λŠ” 것

- λ¬Έμžν˜•

2byte char(charater)

- λ¬Έμžμ—΄(μ°Έμ‘°μžλ£Œν˜•)

String

πŸ“Œλ³€μˆ˜ λͺ…λͺ… κ·œμΉ™

  1. λ³€μˆ˜λͺ… 쀑볡 λΆˆκ°€ (단, λŒ€μ†Œλ¬ΈμžλŠ” ꡬ뢄함)
  2. λ³€μˆ˜λͺ…μœΌλ‘œ μ˜ˆμ•½μ–΄(이미 μžλ°”μ—μ„œ μ‚¬μš©λ˜κ³  μžˆλŠ” ν‚€μ›Œλ“œ) μ‚¬μš© λΆˆκ°€
  3. λ³€μˆ˜λͺ…에 숫자 κ°€λŠ₯ (단, 숫자둜 μ‹œμž‘ν•˜λŠ”κ±΄ λΆˆκ°€)
  4. λ³€μˆ˜λͺ…에 특수문자 κ°€λŠ₯ (단, _ $ μ΄μ™Έμ˜ 특수문자 λΆˆκ°€)
  5. λ‚™νƒ€ν‘œκΈ°λ²•

πŸ“Œμƒμˆ˜

  • κ°’ λ³€κ²½ λΆˆκ°€λŠ₯
  • ν•œλ²ˆλ§Œ μ €μž₯(기둝)ν•  수 μžˆλŠ” λ©”λͺ¨λ¦¬
  • final을 λΆ™μ—¬μ„œ μ„ μ–Έ
  • μƒμˆ˜λͺ…은 λ‹€ λŒ€λ¬Έμžλ‘œ κΈ°μˆ ν•˜λŠ”κ±Έ ꢌμž₯
package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
			final μžλ£Œν˜• μƒμˆ˜λͺ…;
			μƒμˆ˜λͺ… = κ°’;
			final μžλ£Œν˜• μƒμˆ˜λͺ… = κ°’;

πŸ“Œν˜•λ³€ν™˜

κ°’μ˜ μžλ£Œν˜•μ„ λ°”κΎΈλŠ” 것

  • μžλ™ ν˜•λ³€ν™˜
  • κ°•μ œ ν˜•λ³€ν™˜

μ»΄ν“¨ν„°μ—μ„œμ˜ κ°’ 처리 κ·œμΉ™

  • λŒ€μž… μ—°μ‚°μžλ₯Ό κΈ°μ€€μœΌλ‘œ μ™Όμͺ½κ³Ό 였λ₯Έμͺ½μ€ μžλ£Œν˜•μ΄ 같아야함
    즉, 같은 μžλ£Œν˜•μ˜ κ°’λ§Œ λŒ€μž… κ°€λŠ₯
    λ‹€λ₯Έ μžλ£Œν˜•μ˜ 값을 λŒ€μž…ν•˜λ €λ©΄ ν˜•λ³€ν™˜ ν•„μˆ˜
  • 같은 μžλ£Œν˜•λΌλ¦¬λ§Œ μ—°μ‚° κ°€λŠ₯
    μ—°μ‚° 결과도 같은 μžλ£Œν˜•μœΌλ‘œ λ‚˜μ˜΄

- μžλ™ ν˜•λ³€ν™˜

  • μžλ£Œν˜•μ΄ λ‹€λ₯Έ 두 κ°’ κ°„μ˜ μ—°μ‚°(λŒ€μž…, 계산, ...) μ‹œ
    μ»΄νŒŒμΌλŸ¬κ°€ μžλ™μœΌλ‘œ κ°’μ˜ λ²”μœ„κ°€ μž‘μ€ μžλ£Œν˜•μ„ 큰 μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜μ‹œμΌœμ£ΌλŠ” 것
    단, byte와 short μžλ£Œν˜• κ°’μ˜ 계산 κ²°κ³ΌλŠ” 무쑰건 int둜 처리
  1. int(4byte) β†’ double(8byte)
package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
			int i1 = 12;
			double d1 = i1;
            
            System.out.println(d1); // 12.0
  1. int(4byte) β†’ long(8byte)
  2. float(4byte) β†’ double(8byte)
package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
			float f1 = 1.0f;
            double d1 = f4;
  • 특이 1. long(8byte) β†’ float(4byte)
    float이 μ‹€μˆ˜ν˜•μ΄κΈ°λ•Œλ¬Έμ— longν˜•λ³΄λ‹€ ν‘œν˜„ κ°€λŠ₯ν•œ 수의 λ²ˆμœ„κ°€ 더 ν¬κΈ°λ•Œλ¬Έ
  • 특이 2.char(2byte) : ↔ int(4byte)
    각 λ¬Έμžλ“€λ§ˆλ‹€ κ³ μœ ν•œ μˆ«μžκ°€ μ§€μ •λ˜μ–΄μžˆκΈ°λ•Œλ¬Έ (단, char에 μŒμˆ˜κ°’ λŒ€μž… λΆˆκ°€)
    char(2byte) : 0~65535

- κ°•μ œ ν˜•λ³€ν™˜

  • κ°’μ˜ λ²”μœ„κ°€ 큰 μžλ£Œν˜•μ„ μž‘μ€ μžλ£Œν˜•μœΌλ‘œ κ°•μ œλ‘œ λ³€ν™˜μ‹œν‚€λŠ” 것
  • μ‹€μˆ˜κ°’μ„ μ •μˆ˜κ°’μœΌλ‘œ κ°•μ œ ν˜•λ³€ν™˜μ‹œ μ†Œμˆ˜μ  μ•„λž˜λΆ€λΆ„μ€ 버림
    β†’ 데이터 손싀이 λ°œμƒν•  수 있음
  1. double(8byte) β†’ float(4byte)
package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
        	double d1 = 4.0;
            float f1 = (float)d1;
  1. double(8byte) β†’ int(4byte)
package μ„ μ–ΈλΆ€
[import μ„ μ–ΈλΆ€]
	Class μž‘μ„±λΆ€
    	method μž‘μ„±λΆ€
        	int i1 = 10;
            double d1 = 7.89;
            
        	int result = (int)(i1 + d1); // (int)(10.0 + 7.89)
			int result = i1 + (int)d1; // 10 + 7

데이터 μ˜€λ²„ν”Œλ‘œμš°

0개의 λŒ“κΈ€