Post

[Day9] java 기초

[Day9] java 기초

오늘부터 자바를 시작했다.
알고리즘을 자바로 배우는게 나는 넘 아쉽다. 차라리 파이썬으로 하지..그냥 자바스크립트로 해줘요 징징 ㅜ

아무튼 자바는 백지 수준이라서 한귀로 듣고 한귀로 흘러가는 느낌이라 넘 슬펐다. 학교 다닐 때 자바 수업 좀 열심히 들을껄
그래서 1학년때 배운 ‘절대 JAVA’ 책과 함께 수업을 듣기로 했다.(전공책 안버리길 잘했다)
수업은 자바 역사 -> 자바 세팅 -> 자바 데이터 타입을 알려주시면서 실습과 필기 위주의 수업이었다. 나는 맥북이라 강사님의 자료를 적용시키기 어려웠다. 예를 들면 자료가 거의 윈도우 위주라서 메모장 실습같은건 따라하지 못했다. 보는 걸로도 만족스러웠다.


What is Java?

자바는 객체지향 프로그래밍 언어이다.

java 특징

  1. 객체 지향 프로그래밍(OOP): 코드 재사용과 유지보수가 용이.
  2. 플랫폼 독립성: “한 번 작성, 어디서나 실행” (JVM을 통한 실행).
  3. 메모리 관리: 자동 가비지 컬렉션으로 메모리 관리.
  4. 멀티스레딩 지원: 병렬 처리 및 효율적인 자원 관리.
  5. 강력한 보안: 다양한 보안 기능(예: 클래스 로더, 바이트코드 검증).
  6. 풍부한 라이브러리: 다양한 표준 API 및 프레임워크 제공.

자바 클래스와 패키지

class

  • 자바의 프로그램 단위는 클래스이다.
    • java에서 실행되는 모든 코드는 클래스 안에 있어야 한다.
  • 클래스 이름은 대소문자를 구분하며 public인 경우 반드시 파일 이름과 일치해야 한다.
  • 클래스 이름은 항상 대문자로 시작해야 한다.

💡 main() 메서드 내부의 모든 코드가 실행된다.

패키지

  • 관련된 다양한 자바 클래스가 모여있는 폴더

Java Output / Print

1
2
3
System.out.println("Hello World!"); // 커서가 다음줄로
System.out.print("Hello World! "); // 커서가 옆으로
System.out.print(13002930423);
  • 텍스트는 큰따옴표 “” 로 묶어야 한다.

Java 변수 (Java Variables)

변수란?

변수(Variable)는 데이터를 저장하는 컨테이너이다. 변수에는 특정 유형의 값을 저장할 수 있다.

변수 선언 및 초기화

1
2
3
4
int myNum; // 변수 선언
myNum = 15; // 변수 초기화

int myNum2 = 20; // 선언과 동시에 초기화

변수 유형

데이터 유형예제 코드설명
정수형 (Integer)int age = 25;소수점 없는 정수
부동소수점형 (Floating Point)float price = 5.99f;소수점을 포함하는 숫자 저장(32bit)
부동소수점형 (Double Point)double price = 99.99;소수점을 포함하는 숫자 저장(64bit)
문자형 (Character)char grade = 'A';단일 문자 저장
불리언형 (Boolean)boolean isJavaFun = true;참 또는 거짓 저장
문자열 (String)String greeting = "Hello, Java!";문자열 저장

상수 (Final Variables)

변수를 final 키워드로 선언하면 값을 변경할 수 없습니다.

1
2
final int BIRTH_YEAR = 2000;
// BIRTH_YEAR = 2001; // 오류 발생 (값 변경 불가)

여러 변수 선언

한 줄에서 여러 변수를 선언할 수 있습니다.

1
2
int x = 5, y = 10, z = 15;
System.out.println(x + y + z); // 출력: 30

Java 데이터 유형 (Java Data Types)

Java에서 데이터 유형은 기본 데이터 유형(Primitive Data Types)과 비기본 데이터 유형(Non-Primitive Data Types)으로 나뉜다.

기본 데이터 유형 (Primitive Data Types)

Java에서 미리 정의된 단순한 데이터 유형

데이터 유형크기기본값예제설명
byte1바이트0byte a = 100;-128 ~ 127 범위의 작은 정수 저장
short2바이트0short b = 1000;-32,768 ~ 32,767 범위의 정수 저장
int4바이트0int c = 100000;일반적인 정수 저장
long8바이트0Llong d = 150000L;매우 큰 정수 저장
float4바이트0.0ffloat e = 5.75f;소수점 이하 6~7자리 정도까지 저장
double8바이트0.0ddouble f = 19.99;소수점 이하 16~16자리 정도까지 저장
char2바이트'\u0000'char g = 'A';단일 문자 저장
boolean1비트falseboolean h = true;참 또는 거짓 저장
1
2
3
4
5
6
7
8
9
10
11
12
13
public class PrimitiveTypes {
    public static void main(String[] args) {
        int age = 25;
        double price = 99.99;
        char grade = 'A';
        boolean isJavaFun = true;

        System.out.println("나이: " + age);
        System.out.println("가격: " + price);
        System.out.println("학점: " + grade);
        System.out.println("자바는 재미있나요? " + isJavaFun);
    }
}

비기본 데이터 유형 (Non-Primitive Data Types)

  • 비기본 데이터 유형은 객체를 참조하기 때문에 참조 유형 이라고 한다.
  • 기본 데이터 유형보다 복잡하며, 여러 값을 포함하거나 특정 동작을 수행할 수 있다.

🔹 기본 및 비기본 데이터 유형 의 주요 차이점

항목기본 데이터 유형비기본 데이터 유형
정의언어에 미리 정의되어 내장된 유형프로그래머가 생성한 사용자 정의 유형 (String 제외)
값 저장항상 값을 보유값을 보유할 수 있지만, null을 가질 수 있음
메서드 사용메서드를 호출할 수 없음메서드를 호출할 수 있음
표기법소문자 (예: int)대문자 (예: String)
예시int, char, booleanString, ArrayList

🔹 주요 비기본 데이터 유형

  1. 문자열 (String): 여러 개의 문자를 저장하는 클래스
  2. 배열 (Array): 같은 데이터 유형의 여러 값을 저장하는 자료구조
  3. 클래스 (Class): 객체 지향 프로그래밍에서 데이터와 메서드를 정의하는 설계도
  4. 인터페이스 (Interface): 클래스가 구현해야 하는 메서드의 집합

강사님이 “너무 깊게까지 이해는 할 수 없으니깐 syntax에 대해 이해한다 생각하기”라고 하셔서 오늘의 공부방향은 그렇게 잡았다. 아쉬운 얘기만 잔뜩 써뒀지만 사실 회피하던 자바를 이렇게라도 배워서 좀 재밌을거같다~

This post is licensed under CC BY 4.0 by the author.