Java 58

자바 변수부터 콜랙션까지 내용 정리

* 자바 *- 자바 프로그램 실행을 위한 필수 메소드 : main 메소드 public static void main(String[] args) {}  - 컴파일된 바이트 코드를 실행하는 가상 기계의 이름 : JVM (Java Virtual Machine)- 자바에서 메모리 관리를 자동으로 수행하는 기능 : Garbage collection 변수에 값을 최초로 대입하는 것 : 초기화 자료형 변수명 = 값;int num = 10;  - 연산을 수행하기 위해서는 연산 대상의 자료형의 종류가 [  일치  ]해야 한다   따라서 형변환이 발생하는데 자동 형변환과 강제 형변환으로 분류됨  * 자동 형변환 조건 : 자료형의 범위가 작은 범위에서 큰 범위로 형변환이 일어난다 byte(1B) -> short(2B) ->..

Java 2024.07.10

자바 Collection List, Set

컬렉션 :  * 자료구조에 대한 기능을 제공하는 기본 클래스 자료 구조란 데이터를 메모리에서 구조적으로 처리하는 방법론이다  컬렉션 프레임워크 :자료구조 및 알고리즘을 구현해 놓은 일종의 라이브러리이다제네릭 기반으로 구현이 되어 있다  배열의 문제점 : 1. 한 번 크기를 지정하면 변경할 수 없다 - 공간 크기가 부족하면 에러가 발생 → 할당 시 넉넉한 크기로 할당하게 됨 (메모리 낭비) - 필요에 따라 공간을 늘리거나 줄일 수 없음 2. 배열에 기록된 데이터에 대한 중간 위치의 추가, 삭제가 불편하다.- 추가, 삭제할 데이터부터 마지막 기록된 데이터까지 하나씩 뒤로 밀어내고 추가해야 함 (복잡한 알고리즘) 3. 한 타입의 데이터만 저장 가능하다.  컬렉션 장점 :  1.저장하는 크기의 제약이 없다. 2..

Java 2024.07.09

자바 입출력 완전 이해하기

Java를 배우면서 가장 먼저 접한 입출력은 Scanner 클래스와 print 메소드이다 자바 API를 배우면서 많이 사용을 한 입출력이다  표준 입출력 InputStream is = System.in; OutputStream os = System.out;   System.err: 표준 에러 스트림 (콘솔 에러 출력)  자바에서 IO(입력과 출력)은 stream을 통해서 이루어진다.stream은 빨대와 같다 입력과 출력을 동시에 수행할 수 없어단일 방향으로만 가능하다   입력과 출력을 동시에 수행하려면 두 개의 stream이 필요하다 그리고  Fist in First Out 방식으로 이루어져 있다 먼저 들어온 데이터가 먼저 나가는 방식이다   stream 종류 :   바이트 스트림 (Byte S..

Java 2024.07.07

클래스, 상속

객체지향 프로그래밍이란? 현실 세계의 객체들간의 상호작용을 프로그래밍을 통해 가상세계로 구현하는 과정이다 객체들을 만들기 위해서 class라는 객체를 만들기위한 틀이 필요하다  객체란 현실세계에 독립적으로 존재하는 모든 것들을 의미한다 현실 세계에서는 객체들간의 상호작용으로 돌아간다 클래스 구조 : [접근제한자] [예약어] class 클래스명 {// 필드부 : 변수 - (데이터를 저장하는 공간)[접근제한자][예약어] 자료형 변수명[= 값] // 생성자부 접근제한자 클래스명([매개변수 정보]){}- 생성자는 반환타입을 명시하지 않는다. 즉 void도 반환타입이 없다는 뜻이므로 생략한다  // 메소드부(기능을 실행하는 부분) : [접근제한자][예약어]반환타입 메소드명(매개변수정보){}메소드명은 소문자로 시작..

Java 2024.07.06

KH 교육과정 제네릭

제네릭 특징 :    ‘’ 안에 타입 파라미터가 위치컬렉션,람다식(함수적 인터페이스), 스트림 NIO에서 널리 사용된다. 클래스, 인터페이스,메소드를 정의할 때 타입을 파라미터로 사용하여컴파일 시 구체적인 타입이 결정될 수 있도록 도와준다  제네릭 장점 :  컴파일 시 강한 타입 체크를 할 수 있다. 타입 변환을 제거한다 제네릭을 사용하지 않는 경우 불필요한 타입 변환이 필요하다  제네릭 이전의 코드 :  class Apple {public String toString() { return "I am an apple."; }} class Orange {public String toString() { return "I am an orange."; }} // 다음 상자는 사과도 오렌지도 담을 수 있다.clas..

Java 2024.07.04

KH 교육과정 JAVA_IO(입출력)

입출력 IO _  Input과 Output의 약자 컴퓨터  내부 또는  외부 장치와 프로그램 간의 데이터를 주고 받는 것 장치와 입출력을 위해서는 하드웨어 장치에 직접 접근이 필요한데 다양한 매체에 존재하는 데이터들을 사용하기 위해 입출력 데이터를 처리할 공통적인 방법으로 스트림을 이용 스트림 (Stream) : 입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스 모든 스트림은 단방향이며 각각의 장치마다 연결할 수 있는 스트림 존재하나의 스트림으로 입출력 을 동시에 수행할 수 없으므로 동시에 수행하려면2개의 스트림이 필요하다  바이트 단위 입력 스트림  최상위 클래스 : InputStream 하위 클래스 : xxxInputStream 바이트 단위 출력 스트림 : 최상위 클래스 : Outp..

Java 2024.07.03

7월 15일 시험 준비 복습 1차원 배열, 2차원 배열, 클래스

6월 18일  [배열] : [ 같은 자료형 ]의 [ 여러 개의 데이터(값)]을 저장하는 공간: 배열의 데이터는 [ 인덱스 ]로 관리가 된다.** 인덱스의 시작번호: [ 0 ] ** * 선언 표현식 자료형[] 배열명; 할당 표현식배열명 = new 자료형[배열 크기]; * 배열 선언과 동시에 할당(1) 자료형[] 배열명 = new 자료형[] {값1, 값2, 값3, ...}; (2) 자료형[] 배열명 = {값1, 값2, 값3, ...}; (3) 자료형[] 배열명 = new 자료형[배열 크기];배열명[인덱스번호(위치번호)] = 값1;arry[0] = 값1; int[] numbers = new int[3];System.out.println(numbers);// 출력 결과 : 0x123 배열 복사(1) [ 얕은 복..

Java 2024.07.02

7월 15일 KH 시험 대비 복습 자바,변수,(조건문/반복문)

6월 12일 복습내용  자바 특징 :  - 운영체제에 독립적(이식성 높음)  - > JVM - 객체 지향 언어 - 플랫폼에 독립적이다 - 사용하기 쉬운 언어 : 자바는 C++에서 파생된 간결하고 이해하기 쉬운 문법을 가지고 있습니다.포인터를 제거하고 메모리 관리를 자동화하여 개발자가 코드 작성에 집중할 수 있게 합니다- 자동 메모리 관리 : (garbage collection)  JVM (Java Virtual Machine) :  - 자바 프로그램을 실행하기 위한 가상 기계 - 운영체제에 의존적- class 파일 (byte code)를 해석하고 실행   자바 컴파일러 (javac.exe)- 소스 파일을 JVM이 실행할 수 있도록 클래스 파일로 변환(컴파일)  자바 런처 (java.exe)- class ..

Java 2024.07.01

KH 교육과정_다형성

다형성이란  여러 개의 형태를 갖는다라는 의미를 가지고 있다  상속을 이용한 기술로 부모 타입으로부터 파생된 여러 가지 타입의 자식 객체를 부모 클래스 타입 하나로 다룰 수 있다   class SmartPhone extends MobilePhone {....}스마트폰은 모바일폰이다. SmartPhone phone = new SmartPhone("010-555-777", "Nougat");따라서 스마트폰 참조변수로 스마트폰 참조 가능하다  MobilePhone phone = new SmartPhone("010-555-777", "Nougat");모바일폰 참조변수로 스마트폰 참조도 가능하다.      참조변수 간 대입과 형 변환  class Cake { public void sweet() {...} }  c..

Java 2024.06.30