본문 바로가기

개발/Java

(8)
[Java] 데이터 입출력 프로그램에서 데이터가 나가면 출력 스트림프로그램에 데이터가 들어오면 입력 스트림 프로그램끼리 데이터를 교환하려면 양쪽 모두 입력 스트림과 출력 스트림이 필요하다. 스트림=단방향으로 데이터가 흐르는 것 스트림의 종류바이트 스트림 = 그림, 멀티미디어, 문자 등 모든 종류의 데이터 입출력할때 사용 (InputStream-입력,OutputStream-출력)문자 스트림 = 문자만 입출력할 때 사용 (Reader-입력,Writer-출력)바이트 단위로 출력하는 스트림OutputStream클래스 주요 메서드void write(int b)4byte인 int에서 제일 끝 1 byte만 출력void write(byte[ ] b)매개값으로 주어진 배열b의 모든 바이트 출력void wrtie(byte[ ] b,int off,..
[Java] 컬렉션 자료구조 자료구조를 구현해 놓은 것.인터페이스를 통해서 다양한 클래스를 사용 가능객체를 인덱스로 관리, 객체가 저장되면 인덱스가 부여된다. 1. ArrayList내부 배열에 객체 저장. 제한 없이 객체 추가 가능객체의 번지를 저장, 중복 저장가능, null저장 가능List list=new ArrayList();//객체 타입 명시List list=new ArrayList(); //객체 타입 E타입으로 명시List list=new ArrayList(); //object라면 모두 저장 가능 모든 타입 객체 저장 n번 인덱스 객체 삭제 - 앞으로 하나씩 당겨진다.n번 인덱스에 객체 추가 - 해당 인덱스 뒤로 하나씩 밀려남 2. VectorArrayList와 동일한 구조차이점은 Vector는 동기화된 메소드로 구성되어 있..
[Java] java.base 모듈 자바 표준 모듈에서 제공하는 라이브러리 사용을 돕는 문서https://docs.oracle.com/en/java/javase/21/docs/api/index.html Overview (Java SE 21 & JDK 21)This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Java Development Kit (JDK) APdocs.oracle.comNEST..
[Java] 자바 예외 자바에서 에러 이외에 예외라고 부르는 오류가 있다예외는 잘못된 사용 또는 코딩으로 인한 오류이다.이러한 예외가 일어나도 계속 실행 상태 유지 가능하게 하는 것이 예외 처리이다. 일반 예외 = 컴파일러가 예외 처리 코드 여부 검사실행 예외 = 컴파일러가 예외 처리 코드 여부 검사하지 않음 예외 발생시 예외 클래스로부터 객체 생성함. 객체가 예외 처리한다.Exception e=new NumverFormatException();Exeption e=new ArrayException(); 예외발생시 프로그램의 종료를 막기 위해 처리하는 코드 구성try - catch - finally로 구성된다try에서 예외가 발생 → catch실행 → finally 실행try에서 예외 발생하지 않음 → finally 실행+) f..
[Java] Interface Virtual = overriding이 필수아님, 완벽한 기능 제공. 타입을 동적으로 할당할 수 있다.Abstract = 상속 oberriding 필수. 공통된 정의 제공. 완전하지 않음. Interface = overriding 필수. 다른 타입에 같은 기능 추가하고 싶을 때. 다중 상속 가능.사용 방법을 정의하고 통일.사용 방법을 정의하고 통일하는 것구현 필수. 인터페이스만으로는 객체를 만들 수 없다. 1. 인터페이스 선언public interface RemoteControl{ public static final MAX_VOLUME=100; public static final MIN_VOLUME=0; public abstract void turnOn(); void..
[Java] 상속 자식 클래스에서 부모 클래스의 필드, 메소드 사용 가능한 것.상속은 한개만 가능, 코드 중복 감소 효과public class SmartPhone extends Phone{ String field1; void method1(){}} - 자식 객체를 생성하면 부모 객체 먼저 생성되고 자식 객체가 생성된다.예시)SmartPhone sp=new SmartPhone();stack영역에 sp가 생성되면Heap영역에 부모인 Phone객체 생성 후  SmartPhone객체가 생성된다. sp가 SmartPhone 저장된 번지에 저장된다. - 부모 객체의 생성자는 자식 생성자 맨 첫 줄 숨겨져 있는 super()로 호출된다.부모 클래스에 매개변수 가지는 생성자만 있다면, super(매개값..)처럼 코드를 직접 넣어..
[Java] 클래스 클래스 안에는 있지만 객체에는 없는 멤버메소드 영역의 클래스에 고정적으로 위치하는 멤버모두 공통되게 들어가는 데이터라 고정해놓는다.static 타입 필드명;static 리턴타입 메소드명(){}모든 객체에 각각 들어있는 멤버인스턴스 멤버는 객체 참조변수 통해서만 값을 참조하고 쓴다.Calculator calc1=new Calculator("black",1000);System.out.println(calc1.circleArea(10)); 정적 멤버는 객체로 갈 필요없다. 클래스에서 값을 읽으면 된다.System.out.println(Calculator.circleArea2(20)); 정적 메소드 안에 인스턴트 멤버를 사용하려고 하면 에러난다.인스턴스 멤버는 인스턴스 메소드에서만 쓸 수 있다.예를들어packa..
[Java] 자바 기초 JVM=(java virtual machine) 실행환경. 자바 코드 해석해서 실행시켜줌JRE= JVM + 라이브러리JDK= 개발툴 + JRE (JDK ≒ JDK) Java SE (standard edition) =자바 표준 문법Java EE=Java SE+확장버전Java=언어 프로그램을 수행하는데 필요한 메모리 할당 받고이 메모리를 용도에 따라 여러 영역으로 분리하여 관리 메소드 영역=클래스 데이터, 애플리케이션에서 공유되는 데이터 저장 스택 영역=메소드 호출 시 생성되는 프레임이 저장됨. 각 프레임의 로컬 변수 등이 포함됨힙 영역=객체와 배열이 저장. 참조 타입 변수는 힙 메모리의 객체를 참조함1. 기본 타입=값 자체 저장, stack메모리에 할당byte1byte-128~127 정수형short2byt..