JAVA/Java 기초 33

[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

[JAVA] 기초 - 객체지향 패러다임

💡 목표1. 객체지향 패러다임이란 뭘까? 2. 객체와 객체간에 상호작용 만들어 보기 1. 객체지향 패러다임이란 뭘까? 객체지향 패러다임(Object-Oriented Paradigm)은 소프트웨어를 설계하고 구현하는 방법론 중 하나로, 실세계의 객체를 모델링하여 소프트웨어의 복잡성을 관리하고 코드의 재사용성을 높이는 데 중점을 둡니다. 이 패러다임의 핵심은 프로그램을 상호작용하는 객체들의 집합으로 보고, 각 객체는 자신의 데이터와 행위를 갖는 독립적인 엔티티로 취급하는 것입니다.💡 "엔티티(Entity)"는 특정 속성과 행동을 가진 독립적인 단위 또는 객체를 의미합니다. 객체지향 패러다임의 주요 원칙 캡슐화(Encapsulation): 객체는 데이터(변수)와 그 데이터를 조작하는 함수(메서드)를 하나로..

JAVA/Java 기초 2024.05.20

[JAVA] 기초 - 생성자(constructor)

💡 목표1. 기본 생성자에 대해 알아보자. 2. 사용자 정의 생성자에 대해 알아보자. 3. 생성자 오버로딩이란 뭘까? 1. 기본 생성자에 대해 알아보자. 생성자(Constructor)는 클래스의 인스턴스, 즉 객체를 생성할 때 호출되는 특별한 유형의 메서드이다. 객체의 초기화를 담당하며, 객체가 올바르게 사용될 수 있도록 필요한 값들을 설정하고, 필요한 초기화 코드를 실행한다. 생성자의 주요 특징 생성자의 이름은 클래스의 이름과 동일해야 합니다.생성자는 반환 타입을 가지지 않으며, 심지어 void 도 사용하지 않습니다.객체 생성 시 new 키워드와 함께 자동으로 호출됩니다.생성자는 기본 생성자와 사용자 정의 생성자로 구분할 수 있습니다. 기본 생성자 (default constructor) 클래스에는 반..

JAVA/Java 기초 2024.05.20

[JAVA] 기초 - RunTime Data Area

💡 목표 1. 프로그램이 실행되면 메모리를 할당 받는다.2.인스턴스 생성과 힙 메모리. 3. String Pool 에 대해서 알아 보자. (7버전 이후 부터 Heap 안에 존재) 1. 프로그램이 실행되면 메모리를 할당 받는다.  2.인스턴스 생성과 힙 메모리 인스턴스 (instance) ●  클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태(설계도면) 입니다.● 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됩니다.● 가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됩니다.● new 키워드와 생성자를 사용하여 인스턴스 생성  힙 메모리 ● 생성된 인스턴스는 동적 메모리(heap memory) 에..

JAVA/Java 기초 2024.05.20

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

Seoul.txt, NewYork.txt 파일 생성하고 내용을 넣기기반 스트림 FileReader → 단 인코딩에 대한 단점이 존재한다                                            실행 결과______ 인코딩 설정을 위한 해결 방안파일 입력 스트림 (FileInputStream): 지정된 파일 이름으로부터 바이트 단위의 입력 스트림을 생성한다.문자 입력 스트림 변환기 (InputStreamReader): FileInputStream을 통해 읽은 바이트 데이터를 문자 데이터로 변환합니다. 여기서는 UTF-8 인코딩을 사용한다.버퍼링된 문자 입력 스트림 (BufferedReader): InputStreamReader 로부터 데이터를 효율적으로 읽기 위해 버퍼링을 추가한다. r..

JAVA/Java 기초 2024.05.20

[JAVA] 문자 기반 스트림

💡 자바 I/O에서 문자 기반 스트림의 사용 이유자바의 입출력(I/O) 시스템은 크게 두 가지 유형의 스트림을 제공합니다 바이트 기반 스트림과 문자 기반 스트림 . 문자 기반 스트림은 텍스트 데이터(문자 데이터)를 처리할 때 사용됩니다.문자 인코딩 처리: 문자 기반 스트림은 자동으로 플랫폼의 기본 문자 인코딩을 사용하여 문자 데이터를 올바르게 인코딩하거나 디코딩한다. 이는 다양한 문자 인코딩을 처리하면서 발생할 수 있는 복잡성을 추상화하고, 개발자가 문자 데이터를 쉽게 처리할 수 있도록 돕는다.국제화 지원: 유니코드와 같은 다국어 지원을 통해 전 세계적으로 소프트웨어를 배포할 때 필수적이다. 문자 기반 스트림을 사용하면 다양한 언어의 문자 처리가 간편해진다.가독성 및 편의성: 문자 데이터를 읽고 쓰는 ..

JAVA/Java 기초 2024.05.17