본문 바로가기

Backend37

JAVA : 레코드(Record)에 대해서 Record는  JDK 16에서 도입된 클래스로, record로 정의된 객체의 필드 값은 한 번 설정되면 변경되지 않는다. 이를 통해 데이터의 일관성을 유지할 수 있다. 또한 record는 생성자, getter 메서드, toString메서드 등이 메서드들이 자동으로 생성되어 기존 클래스를 작성할 때보다 간결하게 객체를 생성할 수 있다. public record 클래스명(){}Recod 사용하기1. Record 작성하기package com.example;public record Person(String name, int age, boolean attendance) {} 2. Record 사용하기레코드 클래스의 인스턴스를 생성하면, 따로 getter 메서드를 작성하지 않아도 getter메서드가 자동으로 생성.. 2024. 10. 7.
Java 기초 문법 : JVM 메모리구조 JVM(자바 가상 머신, Java Virtual Machine)은 자바 프로그램의 실행 환경을 제공하는 소프트웨어다. 자바 코드를 바이트 코드(컴퓨터가 이해할 수 있는 기계어)로 변환하고, 이를 통해 어떤 운영 체제에서도 자바 코드를 실행할 수 있게 해준다.JVM의 작동원리는 (1) 자바파일(.java) 생성 후 자바 컴파일러(javac)에 의해 바이트 코드(.class)로 변환하고, (2) JVM을 통해서 바이트 코드를 컴퓨터가 이해할 수 있는 바이너리 코드로 변환하여 실행한다.  JVM의 메모리구조JVM은 3가지 모듈을 가지고 있다. Garbage Collector (GC) 더 이상 사용하지 않는 객체를 감지하고 메모리에서 제거하여 메모리를 회수하는 역할을 한다.  Execution Engine바이트.. 2024. 10. 7.
Java 기초 문법 : 인터페이스(interface) 인터페이스는 추상메서드의 집합으로 오직 추상메서드(public abstract)와 상수(public static)만을 멤버로 가질 수 있다. 모든 메서드는 public abstract 이며 (단 static, default 메서드 제외), 모든 멤버 변수는 public static final 이어야 하며 상수이기 때문에 선언 시 반드시 초기화를 해야한다. 제어자의 경우에는 생략을 해도 컴파일러가 자동적으로 추가한다. interface 인터페이스이름 {    public static final 타입 상수이름 = 값;          //상수    public abstract void 메서드이름(매개변수 목록); //추상메서드}package com.example1;public interface Food { .. 2024. 6. 19.
Java 기초 문법 : 다형성(polymorphism) Java에서 다형성이란 조상 타입의 참조 변수로 자손 타입의 객체를 다루는 것을 말한다. 다형성 참조 변수가 사용할 수 있는 멤버의 개수는 인스턴스의 멤버 개수보다 같거나 적어야 한다. 따라서 자손 타입의 참조 변수로 조상 타입의 객체를 다룰 수는 없다.부모클래스 변수명 = new 자손클래스(); package com.example1;class Parent { void method1() { System.out.println("부모 클래스 method1"); }}// Child클래스는 Parent 클래스를 상속 받는다.class Child extends Parent { void method1() { System.out.println("자식 클래스 method1");.. 2024. 6. 13.
Java 기초 문법 : 제어자(modifier) Java의 제어자는 클래스나 클래스 변수(멤버 변수, 메서드)의 선언부에 함께 사용하여 부가적인 의미를 부여한다.분류항목 접근 제어자 public, protected, (default), private 그외 static, final, abstract, native, trasient, synchronized, volatile, strictfp  접근 제어자외부로부터 데이터를 보호하기 위해서 사용하는 제어자로, 내부적으로만 사용되는 부분을 감추기 위해서 사용한다. 접근 범위제어자사용될 수 있는 곳대상좁음넓음private같은 클래스 내 접근 가능메서드, 멤버변수(default)같은 패키지 내 접근 가능클래스, 메서드, 멤버변수protected같은 패키지 내, 다른 패키지의 자손클래스에서 접근 가능메서드, 멤버.. 2024. 6. 13.
Java 기초 문법 : 패키지, import문 출처 : [자바의 정석 - 기초편], 남궁성의 정석코딩 / Java의 정석 3rd Edition 패키지(Package)서로 관련된 클래스의 묶음으로 물리적으로 클래스파일(.class)를 포함하는 하나의 디렉토리이다. 클래스의 실제 이름은 패키지 명을 포함한다. ( ex) String클래스 -> java.lang.String ) 패키지의 선언패키지는 소스파일의 첫번째 문장으로 단 한번 선언만을 허용 ( package 패키지명; )같은 소스 파일의 클래스들은 모두 같은 패키지에 속함모든 클래스는 반드시 하나의 패키지에 속해야 함패키지는 점(.)을 구분자로하여 계층구조로 구성됨패키지 선언이 없으면 이름없는 패키지 (default package)에 속하게 됨 클래스패스(classpath)클래스 파일(*.clas.. 2024. 6. 13.