JAVA 언어 정리

윤슬·2025년 9월 22일

파일 만들기

  1. [src] 폴더 오른쪽 클릭
  2. [새로 만들기]
    1. java 클래스
    2. 파일 (파일명.txt)
    3. 패키지 (폴더)

자바 클래스 파일 생성

  1. [src] 폴더 오른쪽 클릭
  2. [새로 만들기] -> [패키지] -> (강의 기준 day01~)
  3. [특정 폴더] 오른쪽 클릭 -> [새로 만들기] -> [java 클래스]
    • 클래스 파일명은 첫글자를 무조건 대문자로 시작
      예) Example1

자바 구동 원리

  1. [코딩] 개발자는 .java 파일 내 자바 문법 작성
    • Example1.java (파일)
  2. [실행] .java 파일 → 컴파일(번역/해석) → .class 파일(바이트) 생성
  3. 처리 .class 파일 처리

주석

  • HTML :
  • CSS : / 주석처리 /
  • JS/JAVA : // 한줄 주석
    / 여러줄 주석 /

자바 활용처

  1. 소프트웨어 : javafx 툴 활용 등
  2. 웹 : JSP, Spring 등
  3. 앱 : 안드로이드 등

자바 코드 실행

  • 자바는 클래스 단위로 컴파일 되고, 컴파일된 코드는 main 함수부터 자동 읽어서(스레드) 처리한다.

리터럴

  • 예: 3, 3.14, 'a', "ABC", true 등
  1. 정의 : 키보드로부터 입력한 자료
  2. 종류 : 정수(int), 실수(double), 문자(''), 문자열(""), 논리(boolean)

기본타입

  1. 정의 : 자료들의 분류
  2. 목적 : 효율적인 자료 처리 (*분리수거)
  3. 종류 (8가지)
    • [정수] byte (1바이트, -128 ~ 127)
      short (2바이트, ±3만 정도)
      int (4바이트, ±21억 정도, *리터럴 정수 기본)
      long (8바이트, ±21억 이상, 뒤에 L/l 붙이기)
    • [실수] float (4바이트, 소수점 8자리, 뒤에 F/f 붙이기)
      double (8바이트, 소수점 17자리, *리터럴 실수 기본)
    • [논리] boolean (1바이트, true/false)
    • [문자] char (2바이트, 유니코드, ' ' 작은따옴표로 문자 1개)
      *String (클래스, " " 큰따옴표로 여러 문자)

출력 함수

  1. System.out.print(); → 출력
  2. System.out.println(); → 출력 후 줄바꿈
  3. System.out.printf("형식문자", 값1, 값2); → 서식 맞춤 출력
    • 형식문자: %s 문자열, %d 정수, %c 문자, %f 실수
    • 자릿수: %자릿수d / %-자릿수d / %0자릿수d
    • 소수점 자릿수: %전체자릿수.소수점자릿수f

이스케이프/제어 문자

  • \n 줄바꿈
  • \t 들여쓰기
  • \ 백슬래시 출력
  • \' 작은따옴표 출력
  • \" 큰따옴표 출력

타입변환 (다형성)

  1. 자동(묵시적) 타입변환
    • byte → short/char → int → long → float → double
    • 작은 메모리 → 큰 메모리 변환 가능
    • 연산 시 두 항 중 큰 타입으로 반환
    • int 이하는 무조건 int로 반환
  2. 강제(명시적) 타입변환
    • double → float → long → int → short/char → byte
    • 큰 메모리 → 작은 메모리 변환 가능
    • (타입명)변수명;
    • 자료 손실 발생 가능

입력 함수

  1. 콘솔 화면에서 키보드 입력 받는 방법
  2. 사용법
    • 입력객체 생성 : new Scanner(System.in);
      Scanner 변수명 = new Scanner(System.in);
    • 입력 함수:
      • next() : 문자열 (띄어쓰기 불가)
      • nextLine() : 문자열 (띄어쓰기 가능, next() 뒤에는 주의)
      • nextByte(), nextShort(), nextInt(), nextLong()
      • nextFloat(), nextDouble(), nextBoolean()
      • next().charAt(0) : 문자 1개

연산자

  1. 산술연산자 : +, -, *, /, %
  2. 연결연산자 : + (문자열 포함 시 연결)
  3. 비교연산자 : >, >=, <, <=, ==, !=
  4. 논리연산자 : &&, ||, !
  5. 증감연산자 : ++, --
  6. 복합대입연산자 : +=, -=, *=, /=, %=
  7. 삼항연산자 : 조건 ? 참 : 거짓
  8. 문자열비교 : "A".equals("B")

조건문

  • 조건에 따른 true/false 흐름 제어
  • if, if-else, else if 등 다양한 형태 존재
  • 주의할 점: 조건문에는 true/false만 가능, 중괄호 관리 필요

배열

  1. 동일 타입 여러 값 저장
  2. 고정 길이, 요소 기본값 존재
  3. 인덱스 0부터 시작
  4. 선언/생성 : new 타입[길이], {값1, 값2...}
  5. 호출: 변수명[index], 변수명.length
  6. 반복문과 함께 활용 (for, 향상된 for)

클래스와 객체

  • 클래스: 객체 설계도
  • 객체: 속성과 기능을 가진 대상
  • 멤버: 변수, 메소드, 생성자
  • 객체 생성: new 클래스명();
  • 객체 접근: 변수명.멤버명

메소드

  • 기능 단위 코드 블록
  • 인수(인자), 매개변수, 반환값, 반환타입 존재
  • 정의/호출 방식: 같은 클래스 or 다른 클래스 객체 생성 후 호출

생성자

  • 객체 초기화 메소드
  • 클래스명과 동일, 반환타입 없음
  • 기본 생성자/매개변수 생성자 존재
  • 오버로딩 가능

주요 키워드

  • 접근제한자: public, private, default, protected
  • import : 다른 클래스 불러오기
  • final : 상수
  • static : 전역 변수/메소드

관례적 용어

  • setter/getter : private 멤버 접근
  • public static final : 상수 선언

변수 구분

  • 멤버변수, 지역변수, 매개변수, 정적변수
  • 객체 vs 클래스 vs 인스턴스 구분

상속

  • extends 키워드 사용
  • 다형성: 자동/강제 타입변환
  • 하위 객체 생성 시 상위 객체도 함께 생성

인터페이스

  • implements 키워드
  • 상수/추상 메소드만 포함
  • 다형성 지원

다형성

  • 다양한 타입 변환 가능
  • 오버라이딩으로 메소드 재정의
  • instanceof 로 타입 확인

인스턴스

  • 클래스 기반으로 메모리 생성
  • 멤버변수는 인스턴스마다 독립, 메소드는 공유

입출력

  • 입력: 컴퓨터 안으로
  • 출력: 컴퓨터 밖으로

파일

  • 데이터 모음

스트림

  • 데이터 통로 (바이트 단위 이동)
  • 아스키: 1바이트, 한글: 3바이트

바이트

  • 비트: 0/1
  • 8비트 = 1바이트
  • 1024단위로 KB, MB, GB

파일 입출력

  • 예외 처리 필요
  • FileOutputStream.write() : 쓰기
  • FileInputStream.read() : 읽기

문자열 관련 메소드

  • "문자열".getBytes() : 문자열 → 바이트배열
  • new String(바이트배열) : 바이트배열 → 문자열
  • "문자열".equals("문자열") : 문자열 비교
profile
우상향그래프

0개의 댓글