IT’s Portfolio

[Java] Lecture - Day 1~2 λ³Έλ¬Έ

Development Study/Java

[Java] Lecture - Day 1~2

f1r3_r41n 2023. 12. 12. 00:59
728x90
λ°˜μ‘ν˜•

πŸ–₯ Basic Java - Day 1~2

πŸ‘‰πŸ» [Chapter 01] μžλ°” μ‹œμž‘

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄

  • 컴퓨터가 μ‹€ν–‰ν•  ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜κΈ° μœ„ν•œ μ–Έμ–΄
  • Machine Language
    • μ΄μ§„μˆ˜λ‘œ κ΅¬μ„±λœ μ–Έμ–΄
    • 컴퓨터 CPUλŠ” κΈ°κ³„μ–΄λ§Œ μ΄ν•΄ν•˜κ³  처리 κ°€λŠ₯
  • Assembly Language
    • 기계어 λͺ…령을 λ‹ˆλͺ¨λ‹‰ 기호둜 μΌλŒ€μΌ λŒ€μ‘μ‹œν‚¨ μ–Έμ–΄
  • κ³ κΈ‰ μ–Έμ–΄
    • μ‚¬λžŒμ΄ μ΄ν•΄ν•˜κΈ° 쉽고, λ³΅μž‘ν•œ μž‘μ—…, 자료 ꡬ쑰, μ•Œκ³ λ¦¬μ¦˜μ„ ν‘œν˜„ν•˜κΈ° μœ„ν•΄ κ³ μ•ˆλœ μ–Έμ–΄
    • 절차 지ν–₯ 언어와 객체 지ν–₯ μ–Έμ–΄λ‘œ λ‚˜λˆŒ 수 있음
  • Source File : ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ μž‘μ„±λœ ν…μŠ€νŠΈ 파일
  • Compile : μ†ŒμŠ€ νŒŒμΌμ„ 컴퓨터가 이해할 수 μžˆλŠ” κΈ°κ³„μ–΄λ‘œ λ§Œλ“œλŠ” κ³Όμ •
    • Java : .java -> .class
    • C : .c -> .obj -> .exe
    • Cpp : .cpp -> .obj -> .exe

μžλ°”μ˜ νƒœλ™

  • 1991λ…„ Green Project
    • μ„ λ§ˆμ΄ν¬λ‘œμ‹œμŠ€ν…œμ¦ˆμ˜ μ œμž„μŠ€ 고슬링 에 μ˜ν•΄ μ‹œμž‘
    • 1995년에 μžλ°” λ°œν‘œ
  • λͺ©μ 
    • ν”Œλž«νΌ ν˜Έν™˜μ„± 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 개발
    • ν”Œλž«νΌ 독립적인 μ–Έμ–΄ 개발
    • Platform : ν•˜λ“œμ›¨μ–΄ + 운영체제
  • 초기 이름 : OAK
  • 2009년에 μ„ λ§ˆμ΄ν¬λ‘œμ‹œμŠ€ν…œμ¦ˆλ₯Ό 였라클 이 인수

μžλ°”μ˜ ν”Œλž«νΌ 독립성

  • WORA(Write Once Run Anywhere)
    • ν•œλ²ˆ μž‘μ„±λ˜μ–΄ 컴파일된 μžλ°” μ½”λ“œλŠ” λͺ¨λ“  ν”Œλž«νΌμ—μ„œ JVM만 있으면 λ°”λ‘œ μ‹€ν–‰
    • C/Cpp λ“± κΈ°μ‘΄ μ–Έμ–΄κ°€ 가진 ν”Œλž«νΌ 쒅속성 극볡
      • ν”„λ‘œκ·Έλž¨μ˜ ν”Œλž«νΌμ΄ ν˜Έν™˜μ„± μ—†λŠ” 이유
        • 기계어가 CPUλ§ˆλ‹€ 닀름
        • μš΄μ˜μ²΄μ œλ§ˆλ‹€ API 및 μ‹€ν–‰νŒŒμΌ ν˜•μ‹μ΄ 닀름
    • λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœ μ–΄λŠ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œλ‚˜ μ‹€ν–‰
  • WORAλ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” μžλ°”μ˜ νŠΉμ§•
    • Byte Code
      • μžλ°” μ†ŒμŠ€μ½”λ“œλ₯Ό μ»΄νŒŒμΌν•œ μΌμ’…μ˜ λͺ©μ μ½”λ“œ
      • μžλ°” 가상 λ¨Έμ‹ μ—μ„œ μ‹€ν–‰ κ°€λŠ₯ν•œ λ°”μ΄λ„ˆλ¦¬ μ½”λ“œ
        • CPU에 쒅속적이지 μ•Šμ€ 쀑립적인 μ½”λ“œ
        • λ°”μ΄νŠΈ μ½”λ“œλŠ” 컴퓨터 CPU에 μ˜ν•΄ 직접 μ‹€ν–‰λ˜μ§€ μ•ŠμŒ
        • μžλ°” 가상 머신이 μž‘λ™ 쀑인 ν”Œλž«νΌμ—μ„œ μ‹€ν–‰
      • 클래슀 νŒŒμΌμ— μ €μž₯
    • JVM(Java Virtual Machine)
      • μžλ°” λ°”μ΄νŠΈ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” μžλ°” 가상 λ¨Έμ‹ 
      • 각기 λ‹€λ₯Έ ν”Œλž«νΌμ— μ„€μΉ˜
      • λ™μΌν•œ μžλ°” μ‹€ν–‰ ν™˜κ²½ 제곡
      • μžλ°” 가상 λ¨Έμ‹  μžμ²΄λŠ” ν”Œλž«νΌμ— 쒅속적
    • μžλ°” 가상 머신이 인터프리터 방식 으둜 클래슀 파일의 λ°”μ΄νŠΈ μ½”λ“œλ₯Ό ν•΄μ„ν•˜μ—¬ μ‹€ν–‰

μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ ν™˜κ²½

  • μ‹€ν–‰ ν™˜κ²½
    • μžλ°” 가상 λ¨Έμ‹  + μžλ°” API
  • μ‘μš© ν”„λ‘œκ·Έλž¨ μ‹€ν–‰
    • main() λ©”μ„œλ“œλ₯Ό 가진 클래슀의 main() μ—μ„œ μ‹€ν–‰ μ‹œμž‘
    • μžλ°” 가상 머신은 ν•„μš”ν•  λ•Œ 클래슀 파일 λ‘œλ”©, 적은 λ©”λͺ¨λ¦¬λ‘œ μ‹€ν–‰ κ°€λŠ₯
  • μžλ°”μ˜ μ‹€ν–‰
    • .java -> Compiler -> .class -> ν•˜λ“œμ›¨μ–΄/운영체제/μžλ°”κ°€μƒλ¨Έμ‹ /ν”„λ‘œκ·Έλž¨
  • C/Cpp의 μ‹€ν–‰
    • .cpp -> Cimpiler/Linker -> .exe -> ν•˜λ“œμ›¨μ–΄/운영체제/ν”„λ‘œκ·Έλž¨

JDK와 JRE

  • JDK(Java Development Kit)
    • μžλ°” 개발 도ꡬ + JRE(JVM + μžλ°” API)
    • 컴파일러, 컴파일된 μžλ°” API ν΄λž˜μŠ€λ“€μ΄ λ‚΄μž₯λ˜μ–΄ μžˆλŠ” λͺ¨λ“ˆ νŒŒμΌλ“€, μƒ˜ν”Œ λ“± 포함
    • bin 디렉터리에 ν¬ν•¨λœ μ£Όμš” 개발 도ꡬ
      • javac : μžλ°” μ†ŒμŠ€λ₯Ό λ°”μ΄νŠΈ μ½”λ“œλ‘œ λ³€ν™˜ν•˜λŠ” 컴파일러
      • java : μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨ μ‹€ν–‰κΈ°
        • μžλ°” 가상 머신을 μž‘λ™μ‹œμΌœ μžλ°” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰
      • javadoc : μžλ°” μ†ŒμŠ€λ‘œλΆ€ν„° HTML ν˜•μ‹μ˜ API λ¬Έμ„œ 생성
      • jar : μžλ°” ν΄λž˜μŠ€λ“€μ„ μ••μΆ•ν•œ μžλ°” μ•„μΉ΄μ΄λΈŒ 파일 생성 및 관리
      • jmod : μžλ°”μ˜ λͺ¨λ“ˆ νŒŒμΌμ„ λ§Œλ“€κ±°λ‚˜ λͺ¨λ“ˆ 파일의 λ‚΄μš© 좜λ ₯
      • jlink : μ‘μš© ν”„λ‘œκ·Έλž¨μ— 맞좘 λ§žμΆ€ν˜• JRE 제곡
      • jdb : μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ 쀑 였λ₯˜λ₯Ό μ°ΎλŠ” 데 μ‚¬μš©ν•˜λŠ” 디버거
      • javap : 클래슀 파일의 λ°”μ΄νŠΈ μ½”λ“œλ₯Ό μ†ŒμŠ€μ™€ ν•¨κ»˜ λ³΄μ—¬μ£ΌλŠ” λ””μ–΄μ…ˆλΈ”λŸ¬
  • JRE(Java Runtime Environment)
    • μžλ°” μ‹€ν–‰ ν™˜κ²½
    • JVM 포함
    • 컴파일된 μžλ°” API듀이 λ‚΄μž₯λ˜μ–΄ μžˆλŠ” λͺ¨λ“ˆ 파일

μžλ°”μ˜ 배포판

  • Java SE
    • Standard Edition
    • λ°μŠ€ν¬νƒ‘κ³Ό μ„œλ²„ μ‘μš© 개발 ν”Œλž«νΌ
  • Java ME
    • Micro Edition
    • λͺ¨λ°”μΌμš© 배포판
  • Java EE
    • Enterprise Edition
    • Java SE + 인터넷 기반 μ„œλ²„μ‚¬μ΄λ“œ μ»΄ν“¨νŒ… κ΄€λ ¨ API μΆ”κ°€

λͺ¨λ“ˆ ν”„λ‘œκ·Έλž˜λ°

  • Modularity
    • Java 9μ—μ„œ μ •μ˜λœ μƒˆλ‘œμš΄ κΈ°λŠ₯
    • Module : μžλ°” νŒ¨ν‚€μ§€λ“€κ³Ό 이미지, XML 파일 λ“±μ˜ μžμ›λ“€μ„ 묢은 λ‹¨μœ„
    • Module Programming : μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨μ„ 마치 μ§μ†Œ 퍼즐을 μ—°κ²°ν•˜λ“―μ΄ ν•„μš”ν•œ λͺ¨λ“ˆμ„ μ—°κ²°ν•˜λŠ” λ°©μ‹μœΌλ‘œ μž‘μ„±
  • λͺ©μ 
    • μ„Έλ°€ν•œ λͺ¨λ“ˆν™”λ₯Ό 톡해 μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ”λ° ν•„μš”κ°€ μ—†λŠ” λͺ¨λ“ˆμ„ λ°°μ œν•˜μ—¬ μž‘μ€ 크기둜 λ°°ν¬ν•˜κ²Œ 함
    • μž‘μ€ 크기의 μ‹€ν–‰ ν™˜κ²½ ꡬ성
    • μ†Œν˜• IoT μž₯치 지원

μžλ°” API

  • API(Application Programming Interface)
    • JDK에 ν¬ν•¨λœ 클래슀 라이브러리
    • κ°œλ°œμžλŠ” APIλ₯Ό μ΄μš©ν•˜μ—¬ 쉽고 λΉ λ₯΄κ²Œ μžλ°” ν”„λ‘œκ·Έλž¨ 개발
    • μžλ°” APIλŠ” νŒ¨ν‚€μ§€ ν˜•νƒœλ‘œ 제곡됨

μžλ°” μ‘μš©μ˜ μ’…λ₯˜

  • λ°μŠ€ν¬ν†± μ‘μš© ν”„λ‘œκ·Έλž¨
    • κ°€μž₯ μ „ν˜•μ μΈ μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨
    • PC λ“±μ˜ λ°μŠ€ν¬ν†± 컴퓨터에 μ„€μΉ˜λ˜μ–΄ μ‹€ν–‰
    • JREκ°€ μ„€μΉ˜λœ μ–΄λ–€ μ»΄ν“¨ν„°μ—μ„œλ„ μ‹€ν–‰
  • Servlet μ‘μš© ν”„λ‘œκ·Έλž¨
    • μ›Ή μ„œλ²„μ—μ„œ μ‹€ν–‰λ˜λŠ” μ„œλ²„μš© μžλ°” ν”„λ‘œκ·Έλž¨
    • λ°μ΄ν„°λ² μ΄μŠ€ μ„œλ²„ 및 기타 μ„œλ²„μ™€ μ—°λ™ν•˜λŠ” λ³΅μž‘ν•œ κΈ°λŠ₯ κ΅¬ν˜„ μ‹œ μ‚¬μš©
    • μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€κ°€ ν•„μš”μ—†λŠ” μ‘μš©
    • μ›Ή μ„œλ²„μ— μ˜ν•΄ 싀행을 ν†΅μ œ
  • μ•ˆλ“œλ‘œμ΄λ“œ μ•±

μžλ°”μ˜ νŠΉμ„±

  • ν”Œλž«νΌ 독립성
  • 객체 지ν–₯
    • μΊ‘μŠν™”, 상속, λ‹€ν˜•μ„± 등을 지원
  • 클래슀둜 μΊ‘μŠν™”
    • μžλ°”μ˜ λͺ¨λ“  λ³€μˆ˜λ‚˜ ν•¨μˆ˜λŠ” 클래슀 내에 μ„ μ–Έ
    • λ‚΄λΆ€ 클래슀 μž‘μ„± κ°€λŠ₯
  • μ†ŒμŠ€μ™€ 클래슀 파일
    • ν•˜λ‚˜μ˜ μ†ŒμŠ€ νŒŒμΌμ— μ—¬λŸ¬ 클래슀 μž‘μ„± κ°€λŠ₯
    • ν•˜λ‚˜μ˜ μ†ŒμŠ€ νŒŒμΌμ— public ν΄λž˜μŠ€λŠ” ν•˜λ‚˜λ§Œ κ°€λŠ₯
    • μ†ŒμŠ€ 파일의 이름과 public으둜 μ„ μ–Έλœ 클래슀 이름은 κ°™μ•„μ•Ό 함
    • λ‹€μˆ˜ 클래슀λ₯Ό 가진 μžλ°” μ†ŒμŠ€λ₯Ό μ»΄νŒŒμΌν•˜λ©΄ ν΄λž˜μŠ€λ§ˆλ‹€ λ³„λ„μ˜ 클래슀 파일 생성
  • μ‹€ν–‰ μ½”λ“œ 배포
    • μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨μ€ ν•œ 개의 클래슀 파일 λ˜λŠ” λ‹€μˆ˜μ˜ 클래슀 파일둜 ꡬ성
    • μ—¬λŸ¬ 폴더에 걸쳐 λ‹€μˆ˜μ˜ 클래슀 파일둜 κ΅¬μ„±λœ 경우 jar 파일둜 μ••μΆ•ν•˜μ—¬ 배포 및 μ‹€ν–‰
    • μžλ°” μ‘μš© ν”„λ‘œκ·Έλž¨ 싀행은 main() λ©”μ„œλ“œμ—μ„œ μ‹œμž‘
      • ν•˜λ‚˜μ˜ 클래슀 νŒŒμΌμ— 두 개 μ΄μƒμ˜ main() λ©”μ„œλ“œλŠ” μžˆμ„ 수 μ—†μŒ
  • νŒ¨ν‚€μ§€
    • μ„œλ‘œ 관련이 μžˆλŠ” μ—¬λŸ¬ 클래슀λ₯Ό νŒ¨ν‚€μ§€λ‘œ λ¬Άμ–΄ 관리
    • νŒ¨ν‚€μ§€λŠ” 폴더 κ°œλ…
  • λ©€ν‹°μŠ€λ ˆλ“œ
    • μ—¬λŸ¬ μŠ€λ ˆλ“œμ˜ λ™μ‹œ μˆ˜ν–‰ ν™˜κ²½ 지원
  • 가비지 μ»¬λ ‰μ…˜
    • μžλ°” μ–Έμ–΄λŠ” λ©”λͺ¨λ¦¬ ν• λ‹Ή κΈ°λŠ₯은 μžˆμ–΄λ„ λ©”λͺ¨λ¦¬ λ°˜ν™˜ κΈ°λŠ₯은 μ—†μŒ
      • μž‰μ—¬ λ©”λͺ¨λ¦¬λŠ” μžλ°” 가상 머신에 μ˜ν•΄ μžλ™ λ°˜ν™˜λ¨
  • μ‹€μ‹œκ°„ μ‘μš© ν”„λ‘œκ·Έλž¨μ— 뢀적합
    • μ‹€ν–‰ 도쀑 μ˜ˆμΈ‘ν•  수 μ—†λŠ” μ‹œμ μ— 가비지 μ»¬λ ‰μ…˜ μ‹€ν–‰ λ•Œλ¬Έ
  • μ•ˆμ „
    • νƒ€μž… 체크 엄격
    • 포인터 κ°œλ… μ—†μŒ
  • 쉬움
    • 포인터 κ°œλ… μ—†μŒ
    • 동적 λ©”λͺ¨λ¦¬ λ°˜ν™˜μ„ ν•˜μ§€ μ•ŠμŒ
    • λ‹€μ–‘ν•œ 라이브러리 지원
  • μ‹€ν–‰ 속도 κ°œμ„ μ„ μœ„ν•œ JIT 컴파일러 μ‚¬μš©
    • JVM이 λ°”μ΄νŠΈ μ½”λ“œλ₯Ό 인터프리터 λ°©μ‹μœΌλ‘œ μ‹€ν–‰
    • JIT 컴파일 κΈ°λ²•μœΌλ‘œ μ‹€ν–‰ 속도 κ°œμ„ 
      • JIT(Just In Time) : μ‹€ν–‰ 쀑 λ°”μ΄νŠΈ μ½”λ“œλ₯Ό 기계어 μ½”λ“œλ‘œ μ»΄νŒŒμΌν•˜μ—¬ 기계어λ₯Ό μ‹€ν–‰ν•˜λŠ” 기법

πŸ‘‰πŸ» [Chapter 02] μžλ°” κΈ°λ³Έ ν”„λ‘œκ·Έλž˜λ°

기본적인 이해

  • class ν‚€μ›Œλ“œλ‘œ 클래슀 μ„ μ–Έ
  • public으둜 μ„ μ–Έ μ‹œ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œ ν•΄λ‹Ή 클래슀 μ ‘κ·Ό κ°€λŠ₯
  • 주석문
    • // ν•œ 라인 주석
    • /* μ—¬λŸ¬ ν–‰ 주석 */
  • main() λ©”μ†Œλ“œ
    • public static void둜 μ„ μ–Έ
    • String[] args둜 μ‹€ν–‰ 인자 전달 λ°›μŒ
  • Method
    • C/C++ μ—μ„œμ˜ ν•¨μˆ˜λ₯Ό λ©”μ†Œλ“œλ‘œ 지칭
    • 클래슀 λ°”κΉ₯에 μž‘μ„± λΆˆκ°€λŠ₯
    • λ©”μ†Œλ“œ λ‚΄μ—μ„œ μ„ μ–Έλœ λ³€μˆ˜λŠ” 지역 λ³€μˆ˜
      • 지역 λ³€μˆ˜λŠ” λ©”μ†Œλ“œ μ‹€ν–‰ μ’…λ£Œ μ‹œ μ €μž₯ 곡간을 λ°˜ν™˜ν•¨

Identifier

  • 클래슀, λ³€μˆ˜, μƒμˆ˜, λ©”μ„œλ“œ 등에 λΆ™μ΄λŠ” 이름
  • κ·œμΉ™
    • 특수 문자, 곡백 λ˜λŠ” 탭은 μ‚¬μš© λΆˆκ°€λŠ₯
      • _, $ λŠ” μ‚¬μš© κ°€λŠ₯
        • 첫 번째 문자둜 μ‚¬μš©ν•  수 μžˆμœΌλ‚˜ 일반적으둜 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ
    • μœ λ‹ˆμ½”λ“œ 문자 및 ν•œκΈ€ μ‚¬μš© κ°€λŠ₯
    • μžλ°” μ–Έμ–΄μ˜ ν‚€μ›Œλ“œλŠ” μ‚¬μš© λΆˆκ°€
    • 첫 번째 문자둜 μˆ«μžλŠ” μ‚¬μš© λΆˆκ°€
    • 뢈린과 널은 μ‚¬μš© λΆˆκ°€
    • 길이 μ œν•œ μ—†μŒ
  • λŒ€μ†Œλ¬Έμžλ₯Ό ꡬ별함

Data Type

  • κΈ°λ³Έ νƒ€μž…
    • boolean
      • 논리 νƒ€μž…
      • 1bit
      • true, false
    • char
      • 문자 νƒ€μž…
      • 2byte
      • Unicode
    • byte
      • μ •μˆ˜ νƒ€μž…
      • 1byte
      • -128~127
    • short
      • μ •μˆ˜ νƒ€μž…
      • 2byte
      • -32768~32767
    • int
      • μ •μˆ˜ νƒ€μž…
      • 4byte
      • $-2^{32}~2^{32}-1$
    • long
      • μ •μˆ˜ νƒ€μž…
      • 8byte
      • $-2^{63}~2^{63}-1$
    • float
      • μ‹€μˆ˜ νƒ€μž…
      • 4byte
      • -3.4E38~3.4E38
    • double
      • μ‹€μˆ˜ νƒ€μž…
      • 8byte
      • -1.7E308~1.7E308
  • 레퍼런슀 νƒ€μž…(C/Cpp의 포인터와 μœ μ‚¬ν•œ κ°œλ…)
    • about class
    • about interface
    • about array
    • about enum

λ¬Έμžμ—΄

  • λ¬Έμžμ—΄μ€ κΈ°λ³Έ νƒ€μž…μ΄ μ•„λ‹˜
  • String 클래슀 둜 λ¬Έμžμ—΄ ν‘œν˜„

λ³€μˆ˜μ™€ μ„ μ–Έ

  • λ³€μˆ˜ : ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑 데이터λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ 곡간
    • 값은 ν”„λ‘œκ·Έλž¨ μˆ˜ν–‰ 쀑 변경될 수 있음
  • λ³€μˆ˜ μ„ μ–Έ : λ³€μˆ˜μ˜ 데이터 νƒ€μž…μ—μ„œ μ •ν•œ 크기의 λ©”λͺ¨λ¦¬ ν• λ‹Ή

Literal

  • ν”„λ‘œκ·Έλž¨μ—μ„œ 직접 ν‘œν˜„ν•œ κ°’(데이터 κ·Έ 자체)
  • μ •μˆ˜, μ‹€μˆ˜, 문자, 논리, λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄ 쑴재
  • μ •μˆ˜ λ¦¬ν„°λŸ΄
    • 15 : 10μ§„μˆ˜ λ¦¬ν„°λŸ΄
    • 015 : 8μ§„μˆ˜ λ¦¬ν„°λŸ΄
    • 0x15 : 16μ§„μˆ˜ λ¦¬ν„°λŸ΄
    • 0b0101 : 2μ§„μˆ˜ λ¦¬ν„°λŸ΄
    • μ •μˆ˜ λ¦¬ν„°λŸ΄μ€ int ν˜•μœΌλ‘œ 컴파일
    • long λ¦¬ν„°λŸ΄μ€ 숫자 뒀에 L λ˜λŠ” l을 λΆ™μ—¬ ν‘œμ‹œ
      • long g = 24L;
  • μ‹€μˆ˜ λ¦¬ν„°λŸ΄
    • μ†Œμˆ˜μ  ν˜•νƒœλ‚˜ μ§€μˆ˜ ν˜•νƒœλ‘œ ν‘œν˜„ν•œ μ‹€μˆ˜
    • μ‹€μˆ˜ νƒ€μž… λ¦¬ν„°λŸ΄μ€ double둜 컴파일
    • 숫자 뒀에 f(float)λ‚˜ d(double)을 λͺ…μ‹œμ μœΌλ‘œ 뢙이기도 함
      • float f = 0.1234f;
      • double w = .1234D;
  • 문자 λ¦¬ν„°λŸ΄
    • 단일 μΈμš©λΆ€ν˜Έλ‘œ 문자 ν‘œν˜„
    • 특수문자 λ¦¬ν„°λŸ΄μ€ λ°±μŠ¬λž˜μ‹œλ‘œ μ‹œμž‘
      • \b : backspace
      • \t : tab
      • \n : line feed
      • \f : form feed
      • \r : carriage return
      • \" : double quote
      • \' : single quote
      • \\ : backslash
  • 논리 λ¦¬ν„°λŸ΄
    • true or false
    • boolean λ³€μˆ˜μ— μΉ˜ν™˜ν•˜κ±°λ‚˜ 쑰건문에 이용
    • μžλ°”μ—μ„œ 0κ³Ό 1은 거짓과 참으둜 μ‚¬μš© λΆˆκ°€
  • null λ¦¬ν„°λŸ΄
    • λ ˆνΌλŸ°μŠ€μ— λŒ€μž… μ‚¬μš©
  • λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄
    • 이쀑 μΈμš©λΆ€ν˜Έλ‘œ λ¬Άμ–΄ ν‘œν˜„
    • λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄μ€ String 객체둜 μžλ™ 처리
728x90
λ°˜μ‘ν˜•

'Development Study > Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Java] Lecture - Day 5  (0) 2023.12.12
[Java] Lecture - Day 4  (0) 2023.12.12
[Java] Lecture - Day 3  (0) 2023.12.12
[Java] μ•Œκ³ λ¦¬μ¦˜ - μ„Έ μ •μˆ˜μ˜ μ΅œλŒ“κ°’  (0) 2020.04.06
[Java] μ‹œμž‘κΈ€  (0) 2020.04.03
Comments