Chap 01. 객체지향 프로그래밍

    1. 자바의 이해 및 개발 환경 구축

     

     

     

    • 실행 환경: 자바 가상 기계 + 자바 플렛폼의 다양한 클래스 라이브러리(자바 API)
    • 응용프로그램 실행
      • main() 메소드를 가진 클래스의 main()에서 실행 시작
      • 자바 가상 기계는, 필요할 때 클래스 파일 로딩, 적은 메모리로 실행 가능

     

     

     

     

     

     


    ⭐ 자바 컴파일 런타임 환경

    자바 컴파일 및 런타임 환경

     

    • 자바 컴파일러(javac.exe): a1.java (컴파일: javac) → a.class(생성)
      • 자바 바이트 코드(.class) : JVM이 인식할 수 있는 자바 바이트코드로 운영체제에 상관없이 실행 가능
    • 클래스 로더: 자바 클래스와 라이브러리 파일을 JVM 내의 공간에 할당하는 세부 동작
      • 로드: 클래스 파일을 가져와서 JVM의 메모리에 로드
      • 검증: 자바 언어 명세 및 JVM 명세에 명시된 대로 구성되었는지 검사
      • 준비: 클래스가 필요로 하는 메모리를 할당(필드 메서드, 인터페이스 등)
      • 분석: 클래스의 상수 풀 내의 모든 심볼릭 래퍼런스를 다이렉트 레퍼런스로 변경
      • 초기화: 클래스 변수들을 적절한 값으로 초기화(static 필드)

     

    JAVA JVM

     

    • JLT(Just-In-Time) Compiler & Interpreter: 기계어로 해석해주는 실행 엔진
      • JIT는 바이트코드 전체를 컴파일하여 네이티브 코드로 실시간으로 컴파일하여 성능을 향상시키는 기술
    • JVM(Java Virtual Machine): 자바 가상 머신
      • JVM은 바이트코드로 실행할 수 있는 가상머신으로 주요 기능
      • 바이트코드 실행: 바이트코드를 기계어로 번역하여 실행
      • 메모리 관리: 메모리 할당, 해제, 가비지 컬렉션 등
      • 가상머신 지원: JVM은 다양한 플랫폼에서 동일한 자바 프로그램을 실행할 수 있도록 지원(이식성)
      • 스레드 관리: 멀티 스레드 프로그래밍을 지원(스레드 생성/스케줄링/동기화 등)
      • JIT 컴파일: 프로그램 실행 속도 향상(런타임 시에 성능 향상이 이루어짐)

     

     

     

     

     


    2. 변수 생성 및 유형

    변수명 생성 규칙

    • 변수명은 영문자(대·소문자), 숫자, 밑줄(_), 달러 기호($)로만 구성할 수 있음
    • 변수명은 숫자로 시작할 수 없음
    • 변수명에는 공백을 포함할 수 없음
    • 자바에서 미리 정의된 키워드를 변수명으로 사용할 수 없음

    변수의 유형

     

     

    • 변수 : 컴퓨터 프로그램이 처리할 데이터를 저장하는 저장 위치의 이름
    • 상수 : 저장된 데이터의 변경 불가(final 키워드 선언)
    • 자료형 : 정수형, 실수형, 문자, 블리언형, 문자열형

    주요 자료혀의 종류

     

     

    데이터 출력

    : print() println() 메서드

    • System 클래스 사용, 표준 입출력 클래스로 표준 출력을 위한 out 변수 사용
    • 사용 : System.out.print();  // (문자열 + 변수) “+”로 연결

    화면에 데이터를 출력하는 메서드

     

     

     

     

     

     


    3. 입력 처리

    ⭐입력처리 과정

    Sacnner 클래스 사용 과정
    Scanner 클래스가 제공되는 메서드

     

     

     

     

     

    ⭐ 연산자의 개요

    : 연산자는 컴파일러에 어떤 작업을 수행하도록 지시하는 기호

    연산자의 유형

    • 전위 연산자 ex) ++a
    • 후위 연산자 ex) a++
    [예] int a = 10; 
    System.out.println(a++);   // 10 출력, a++ : 문장을 수행하고 a 값에 1을 더함
    System.out.println(++a);   // 12 출력, ++a : a 값에 1을 더하고 문장 수행

     

     

     

     

     

     



    4. 삼항 연산자

    if-else 문

    : If문의 조건식의 결과가 참이면 {코드 블록}, 거짓이면 else{코드블록} 수행

    if-else 문

     

     

     

     

    ⭐ 삼항 연산자

    : (조건식) ? 명령문1 (참인 경우) : 명령문2 (거짓인 경우);

    String message;
    int age =20;
    
    if (age > 18) {
    	message = “투표 자격 있음“; }
    else { 
    	message = “투표 자격 없음“; }
    
    message = (age > 18) ? “투표 자격 있음” : “투표 자격 없음“; 
    System.out.println(message);

     

     

     

     

     

     



    5. 형변환

    ⭐ 형 변환(type coversion)

    : 어떤 자료형에서 다른 자료형으로 변수를 변환하는 것

     

    ⭐ 자동 형변환

    : 작은 자료형을 큰 변수에 할당할 때 더 큰 자료형으로 변환함.

     

     

    ⭐ 캐스팅 형 변환

    : 작은 자료형의 변수에 더 큰 자료형 값을 할당할 때는 명시적 유형 캐스팅을 수행

     

     

     

     

     

     

     

     


    6. 반복문

    while문

    : 조건식이 참이면 루프를 계속 반복하는 반복문

    → 조건식은 대개 비교 또는 논리 연산식

    • while문은 반복 횟수가 정해져 있지 않을 때 사용함.

     

     

    do~while문

    : do문 한 번 실행

    • While문은 조건식에 의해 반복 실행
    • 코드 블록의 코드가 한 번 실행된다는 점이 다름

     

     

    분기분

    : 반복문을 종료하거나 시작하도록 흐름 제어 ex) break, continue, return

     

     

     

     

     

     


    7. 조건문

    switch문

    • 많은 선택이 있고, 각 선택 사항에 특정 코드 또는 코드 블록 실행
    • 조건식 : 연산식 또는 변수의 값이 정수나 문자열

    switch문의 순서도

    'Java' 카테고리의 다른 글

    Chap 03. 클래스/객체  (0) 2024.04.22
    Chap 02. 배열과 문자열  (1) 2024.04.20
    JAVA 배열의 기초와 다차원 배열  (0) 2024.01.14
    Java 조건문 & 반복문  (0) 2024.01.12
    Java 프로그래밍 기초 & 개발 환경 설정  (0) 2024.01.09

    댓글