전체 글 295

[JAVA] 고수준 스트림(Data/Object Stream)

DataInputStream 과 DataOutputStreamDataInputStream 과 DataOutputStream은 자바의 I/O 스트림 클래스 중 하나로, 원시 자료형(정수, 실수, 문자 등)을 쉽게 읽고 쓸 수 있도록 도와준다.이 두 클래스는 데이터의 형식을 유지하면서 입력 및 출력을 수행할 수 있어, 자료의 손실 없이 데이터를 주고받을 수 있다. import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;public class MyDataStream { public static void main(String[] args) { ..

JAVA 2024.05.22

[JAVA] 사용자모드와 커널모드

컴퓨터의 구성 컴퓨터 시스템은 크게 하드웨어(Hardware)와 소프트웨어(Software) 두 가지로 나눌 수 있다.- 하드웨어는 물리적으로 컴퓨터 시스템을 구성하고 있는 기계 장치이고 소프트웨어는 논리적으로 컴퓨터 시스템을 구성하고 하드웨어들을 관리하고 동작시키는 역할을 한다.= 소프트웨어는 명령어들의 집합으로 볼 수 있으며 일반적으로 그것들을 프로그램이라고 말할 수 있다. 소프트웨어는 딱 2가지로 구분할 수 있습니다. USER 프로그램과 OS 프로그램 두가지이다!!  운영체제의 핵심은 커널이다 OS 프로그램은 사용자에게 GUI 제공해서 사용자와 컴퓨터 간에 상호작용을 쉽게 처리할 수 있도록 도와주며 다양한 소프트웨어 응용프로그램 워드프로세서, 게임, 데이터베이스 관리 시스템, 파일 장치 관리 등등 ..

JAVA 2024.05.22

[Git] Git이란?

Git을 사용하는 이유는?▶ 소스코드나 작업물을 관리할 때 편리하기 때문이다.  Git이란?▶ 분산형 버전관리 시스템. (Distributed Version Control System) 버전 관리 시스템 (Version Control System) 이란? ▶ VCS은 사용자 프로젝트에 포함된 파일의 변경 내용을 추적할 수 있도록 하는 도구 또는 방법론. ◼ 가장 단순한 버전 관리 시스템  ◼ 소프트웨어 형상관리- SoftWare Configuration Management 줄여서 SCM이라는 단어를 쓰기도 하는데, SW 개발 및 유지 보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 각종 결과물에 대한 형상을 만들고 이를 형상에 대한 변경을 체계적으로 관리, 제어하기 위한 활동입니다. 형상관리는 ..

Git 2024.05.21

[JAVA] 로그와 파일 저장

💡 매번 로깅 코드를 작성하는 것은 불편할 수 있습니다. 그래서 로그를 편리하게 사용할 수 있도록 클래스를 설계하고, 영구적으로 로그를 저장할 수 있는 파일 저장 기능을 포함하는 코드를 작성해 봅시다.프로젝트 생성public class ConsoleLogger { public void log(String message) { System.out.println(message); }}// end of classimport java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.text.SimpleDateFormat;import java.util.Date;..

JAVA 2024.05.21

[JAVA] 파일복사(문자기반 입/출력), ZIP파일로 압축

문자기반 스트림을 활용한 파일복사 클래스 설계하기 import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;public class FileCopyHelper { // 파일 복사 public static void copyFile(String readFilePath, String writerFilePath) { // 어디로 복사하고 어디로 넣을지 try (FileReader fr = new FileReader(readFilePath); FileWriter fw = new FileWriter(writerFilePath)) { int c; while ((c = ..

JAVA 2024.05.21

[JAVA] 파일 출력 스트림(문자 기반 스트림)

💡  파일 출력 스트림(문자 기반)은 자바에서 텍스트 데이터를 파일에 쓰기 위해 사용되는 스트림입니다.       가장 일반적으로 사용되는 클래스는 FileWriter 입니다. FileWriter는 문자 데이터를 파일에 쓸 때 사용되며, 이 클래스는 내부적으로 파일 시스템과 통신하여 데이터를 문자 단위로 파일에 쓰게 해줍니다. 이는 바이트 기반 스트림인 FileOutputStream과 대비되며, 텍스트 데이터를 처리할 때는 FileWriter 가 더 적합합니다. FileOutputStream : 바이너리 데이터를 파일에 쓰기에 특히 적합 이미지, 비디오, 오디오 파일 쓰기,직렬화 데이터 쓰기,압축 파일 생성 실행 결과_____ 💡 BufferedWriter 는 자바에서 문자 출력 스트림에 대한 버퍼링..

JAVA/Java 기초 2024.05.21

[JAVA] 기초 - static 변수

💡 목표1. static 변수에 대한 개념을 이해하자. 2. Runtime Data Area 에 대한 개념을 알자. 3. static 변수에 활용static 변수는 프로그래밍에서 중요한 개념 중 하나이다. 클래스 변수라고도 불리며, 클래스의 모든 인스턴스가 공유하는 할 수 있는 변수이다. 즉, 객체가 동일한 static 변수의 값을 공유한다. 왜 클래스 변수라고 불리는 걸까?우리가 자바 프로그램을 실행을 하면 프로그램을 수행하기 위해 운영체제로부터 할당받는 메모리들이 존재 한다. 그 특성에 따라 영역등이 존재 하는데 그 구성요소들은 아래와 같다.메모리 영역(JVM Memory, Runtime Data Area) 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우학생마다..

JAVA/Java 기초 2024.05.20

[JAVA] 기초 - this 3가지 사용 방법

💡 목표 this 3가지 사용 방법을 알자this 란1. 인스턴스(객체) 자신의 메모리를 가리킨다. 2. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다. 3. 자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다.public class Person { // this의 3가지 사용방법 // 1. this 는 자기 자신을 가리킨다(인스턴스의 주소) // 2. 생성자에 다른 생성자를 호출할 떼 사용할 수 있다. // 3. 자신의 주소(참조값, 주소값)를 반환 시킬 수 있다. // 변수 -->private private String name; private int age; private String phone; private String gender; // 1. // 생성자 public Person(..

JAVA/Java 기초 2024.05.20

[JAVA] 기초 - 접근 제어 지시자

💡 1. 접근 제어 지시자란?      2. 접근 제어 지시자에 종류를 알아 보자.접근 제어자 - 정보 은닉, 캡슐화객체의 각각의 상태값은 직접 변수를 통해서 변경하는 것이 아닌 기능(행위, 메서드)을 통해서 변경하게 설계 해야 한다. 1. 접근 제어 지시자란? 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 2. 접근 제어 지시자에 종류를 알아 보자 public —> 어디에서든 접근 가능 함.default —> 같은 패키지 내에서 접근 가능protected ← 상속 배운 이후private —> 해당 .java 안에서만 접근이 가능하다.// 은행public class Bank { // 아무것도 지정하지 않으면 default 제어 지시자이다. // pri..

JAVA/Java 기초 2024.05.20