String Class String 생성자 자바의 문자열은 java.lang 패키지의 String 클래스의 인스턴스로 관리됩니다. 소스상에서 문자열 리터럴은 String 객체로 자동 생성되지만, String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성할 수도 있습니다. 다음은 빈도수가 높은 String 생성자들입니다. 파일의 내용을 읽거나, 네트워크를 통해 받은 데이터는 보통 byte[] 배열이므로 이것을 문자열로 변환하기 위해 사용됩니다. 123456789// 배열 전체를 String 객체로 생성String str = new String(byte[] bytes);// 배열을 지정한 문자셋으로 디코딩String str = new String(byte[] bytes, String cha..
1.System 클래스1-1. 개요 System 클래스는 유용한 필드들을 포함하고 있는데, 표준입력, 표준출력, 표준에러 스트림입니다. System 클래스는 final 로 선언되어 있어서 클래스를 인스턴스화 할 수 없습니다.(System 객체는 Static final로 이미 만들어져 있고 수정 불가능) 또한 System 클래스는 많은 수의 메소드들을 포함하고 있으며 그것들을 이용하여 외부에서 정의된 프로퍼티들이나 환경변수, 파일들과 라이브러리들을 읽거나 할 수 있습니다. 또한 System 클래스는 다른 배열로 배열의 일부를 복사하는 간단한 메소드가 포함되어 있습니다. 1-2. System class FieldsSystem.in - 표준 입력 스트림 System.out - 표준 출력 스트림 System.e..
1.API(Application programming Interface)API 혹은 라이브러리란 개발에 자주 사용되는 클래스나 인터페이스의 모음이다.System,String 클래스 등도 모두 API 에 속한다.설치경로 : "jdk설치폴더/jre/lib/rt.jar" 폴더안에 class 형태로 저장되있음을 확인 가능하다.API 도큐먼트 사이트 : https://docs.oracle.com/javase/8/docs/api/ 2.lang, util 패키지2-1. java.lang 패키지자바 프로그램의 기본적 클래스를 담고 있다.(Object,Class,System,String, ...)import 필요 없다. 2-2. java.util기본적 패키지2Collection Class,Arrays,Calender,D..
예외처리 정리 1. 자바에서의 Error vs Exception 에러는 컴퓨터의 오동작 or 고장으로 응용프로그램이 오류가 발생예외는 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 발생 2. 예외클래스 계층RuntimeException - 종류 : NullPointerException,ArrayIndexOutOfBoundsException,NumberFormatException 등. - Catch 의무 없다. 따라서 throw 의무도 없다. - 그래서 throws를 적지 않아도 throw 할 수 있다. - 언체크 예외 - catch ~ try 안써도 컴파일은 된다. Exception - 자바에서는 런타임 예외 제외 예외발생가능성 있는 코드는 try-catch-finally 블록으로 처리하게 강제한다..
1. 정의클래스 내부에 선언한 클래스, 클래스 내부에 선언한 인터페이스.이렇게 내부에 선언하면, 두 클래스의 멤버 접근이 쉽고 하나의 클래스로 여러 클래스를 쓰는 효과가 있다. 2. 선언 및 사용법123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051package NestedClass; public class nestedClass { class instanceMemberClass{ public instanceMemberClass() { // TODO Auto-generated constructor stub } int instanceField; void instanceMethod() {Syste..
1. 인터페이스 쓰는 이유--> 인터페이스는 추상적인 기능에 대한 명세서로, 여러의 객체에서 사용이 가능하다. 이 때문에, 인터페이스를 사용하여 전체적 개발 구도를 빠르게 만들 수 있다.(물론 실제로 객체에 구현하면 해야 하지만, 이 때 인터페이스는 변경 필요없어서 다른 곳에서 재사용 할 수 있다.)--> 하나의 인터페이스로 다양한 객체가 실행 될 수 있다.--> 다중상속의 편리함 2. 인터페이스 선언 위의 예제에서, 추상메소드를 구현한 sleep 은 컴파일 시 자동적으로 @Override 어노테이션이 붙어서, 정확하게 구현 메소드임을 파악된다. 3. 인터페이스는 다중상속이 가능하다.ex) public class A implements 하위인터페이스1 extends 상위1,상위2 {}하지만, 이런 코드가..
1~2. 상속에 대한 기본개념과 사용법 3. 부모 생성자 호출1. 자식이 생성 될 때, 부모 객체도 같이 생성된다.2. 자식 생성자에 첫줄 에는 반드시 부모 객체를 생성하는 super(); 명령문이 있어야 한다. 없으면 자동으로 만들어진다. 4. 오버라이딩1. 오버라이딩 조건 : 동일한 시그니처(리턴타입, 매개변수목록, 메소드이름) 을 가져야 한다.2. 부모 메소드의 접근제한자 보다 더 강하게 접근제한을 걸 수 없다. 약하게는 가능(package -> public 가능) 5. final 클래스, 메소드1. 최종적인 클래스므로 상속 불가능하며, 오버라이딩도 불가능 하다. 6. protected 접근제한자(상속 받았으면 사용할 수 있게해줌)1. protected 가 걸려있는 필드,메소드이고, 이를 사용하는 ..
6-1-1~3. 객체지향 프로그래밍, 클래스, 관계(상속) 등에 대한 개념 소개.6-1-4. OOP 특징캡슐화 : 객체의 필드,메소드를 하나로 묶고 외부에서 구현내용을 알 수 없도록 하는것.상속 : 상위객체의 필드와 메소드 내용을 자식객체에게 물려주는 것.9재사용)다형성 : 실행 시 여러 타입의 객체로 변할 수 있는 성질.6-2~3. 클래스에 대한 기본적인 설명6-4. 객체생성new 연산자 : new 연산자로 힙 영역에 객체 생성 후 메모리 주소 리턴 해준다. Class a = new Class("1234") 일 시 , a는 스택에 저장되는 로컬 참조변수고 이는 힙에 저장된 "1234" 값을 가지는 객체의 주소를 값으로 가진다.생성자끼리도 오버로딩이 가능하다 this(매개변수목록) 을 통하여.6-5~6...
3~4장은 연산자,조건,반복문 기본적인 내용임으로 PASS 1. Runtime Data Area : JVM 이 시작되고 운영체제에서 할당받은 메모리 영역. Runtime Data Areas Method (Static) Area: JVM이 읽어들인 클래스와 인터페이스 대한 런타임 상수 풀, 멤버 변수(필드), 클래스 변수(Static 변수), 생성자와 메소드를 저장되는 공간으로, 모든 스레드에서 공유한다.Runtime Constant Pool메소드 영역에 포함되지만 독자적 중요성이 있다.클래스 파일 constant_pool 테이블에 해당하는 영역이다.클래스와 인터페이스 상수, 메소드와 필드에 대한 모든 레퍼런스를 저장한다.JVM은 런타임 상수 풀을 통해 해당 메소드나 필드의 실제 메모리 상 주소를 찾아 참..
2.1 변수 개념, 선언, 사용법, 사용범위등.2.2 데이터 타입 *String 은 기본 타입이 아니다. String은 클래스 타입 이고, String 변수는 참조변수이다.*문자열을 String 변수에 대입하면 String 객체가 생성 되고, 해당 객체를 가리키는 참조 변수가 생성 되는 것이다.String 객체는 변수 생성방법(new 나 그냥 초기화) 에 따라 heap에 생성되거나 상수풀 영역의 문자열을 가리킨다. 2.3 타입변환자동 타입변환 : 작은 크기 타입 -> 큰 크기 타입강제 타입변환(Casting) : (작은 타입) 큰 크기 타입 -> 작은 크기 타입-> 명시적으로 써줘야만 한다.