대문자 아스키 코드값 소문자 아스키 코드값 A65a97 B66b98 C67c99 D68d100 E69e101 F70f102 G71g103 H72h104 I73i105 J74j106 K75k107 L76l108 M77m109 N78n110 O79o111 P80p112 ..
File 클래스파일 또는 디렉토리를 다루는 클래스입출력 관한 작업File 참조변수 = new File(파일경로 또는 파일이름);**스트림(stream)자바는 파일이나 콘솔의 입출력을 직접 다루지 않고 스트림이라는 흐름을 통해 다룸운영체제에 의해 생성되는 가상의 연결고리를 의미하고 중간 매개자 역할을 함Java 프로그램 OS(운영체제)디스크(파일, 디렉토리)모니터, 프린터, 네트워크절대경로물리적인 경로ex) D:\java_1400_jgu\memo상대경로현재 동작하고 있는 파일을 중심으로 상대적인 경로ex) day08.txt, 디렉토리명/day08.txt, ../day08.txtexists() : 파일의 실제 존재하는지 여부(boolean 값)isDirectory() : 해당 경로가 디렉토리인지 여부(b..
1. 쓰레드(Threak)프로세스윈도우 작업 관리자에서 프로세스 탭에 올라와 있는 어플리케이션 하나운영체제로부터 필요한 메모리를 항당받아 어플리케이션의 코드를 실행멀티태스킹두가지 이상의 작업을 동시(병렬작업)에 처리하는 것쓰레드하나의 프로세스 내부에서 독립적으로 실행되는 작업단위운영체제에 의해 관리되는 하나의 작업 또는 Task를 의미다중 쓰레드 작업시에 각 쓰레드끼리 정보를 주고 받을 수 있어 처리 과정의 오류를 줄일 수 있음각 프로세스는 정보를 주고 받을 수 없음JVM에 의해 하나의 프로세스가 발생, main() 안에 실행문들이 하나의 쓰레드멀티쓰레드여러 쓰레드를 동시에 실행시키는 응용프로그램을 작성하는 기법메모리 공유로 인한 시스템 자원소모가 줄어듬동시에 두가지 이상의 활용이 가능서로 자원을 소모하..
알고리즘어떤 문제를 해결하는 순서, 절차자료구조(Data Structure) 변수,배열,클래스...data들의 집합데이터를 효율적으로 표현하고 처리(검색, 수정,삭제, 추가...)하는 것컬렉션 프레임워크(Collection Framework) : 자료구조데이터를 효율적으로 처리할 수 있도록 지원하며 이미 구현된 클래스들의 집합이다.실제로 많이 사용1. List 인터페이스데이터의 순서를 보장한다.중복된 값을 허용한다. List 구현 클래스 Vector : 예전에 사용하던 클래스. 지금은 사용하지 않는다.(java 기준) LinkedList : 추가, 삭제는 빠르지만 탐색이 상대적으로 느리다. 면접에서 배열과 리스트 차이 물어봄 자료를 자유롭게 넣을 수 있음 타입제한이 없음 ArrayList : 배..
API(Application Programming Interface)어플리케이션 개발에 필요한 것들을 가져다 쓸 수 있게 해주는 중간다리(매개체)개발에 필요한 라이브러리들의 집합-내부 APIJDK 설치 시 기본으로 제공해주는 API자바로 어플리케이션을 쉽게 구현할 수 있도록 한 라이브러리 집합docs.oracle.com/java/javase 버전에 맞는 document 보기-외부 API선배 개발자들이 개발한 패키지 및 클래스들을 의미한다.보통 jar파일로 배포하여 자바프로젝트에 build path에 추가하여 사용한다.시스템소프트웨어 os어플리케이션소프트웨어 나머지 다, 응용프로그램언어 프로그램 document 들어가서 메소드별 설명 확인 및 공부-외부 API Build Path에 추가배포된 jar파일을 ..
함수형 인터페이스(Functional Interface)단 하나의 추상 메소드를 가지고 있는 인터페이스@FunctionalInterface 라는 어노테이션을 명시해주면하나의 추상메소드만 선언할 수 있도록 제한할 수 있다.추상메소드와의 구분을 위해 어노테이션이 있어야함람다식(Lambda Expression) : 익명 메소드, 화살표함수자바 8버전부터 사용가능하다.메소드를 하나의 식으로 표현한다.람다식을 매개변수로 사용이 가능하며 반환도 가능하다.함수형 인터페이스는 추상메소드가 한개만 선언되기 때문에 재정의 할 때도 메소드 이름이 필요없다.람다식 문법매개변수 -> 바디1. (매개변수명,....) -> 명령문; 명령문의 결과가 값이라면 자동 반환됨2. (매개변수명,....)-> { 명령문1; ..
오류의 종류 질문 시 오류가 났다고 말하기에러(Error) : 개발자가 해결할 수 없는 문제(코드로 수습 불가)예외(Exception) : 개발자가 해결 가능한 문제(코드로 수습 가능)예외의 발생 시점 확인된 예외(Checked Exception) 컴파일 단계에서 발생하는 예외(이클립스 빨간 밑줄)미확인된 예외(Unchecked Exception) 프로그램 실행(런타임) 발생하는 예외예외처리예상되는 예외를 적절한 처리를 하여 비정상적인 종료를 막는다.예외처리 문법try{ 실행할 명령문 }catch(예외이름 변수명){ exception이 들어가면 업캐스팅된거 예외를 처리하는 명령문 }catch(예외이름 변수명){ 예외를 처리하..
Object 클래스java.lang.Object모든 클래스의 최상위 클래스모든 클래스의 Object클래스의 메소드를 사용할 수 있고, 일부 메소드를 오버라이딩해서 사용Object클래스가 들어있는 java.lang 패키지는 컴파일러에 의해 자동 importtoString() - 객체의 해시코드(주소)를 출력 - 패키지명.클래스명@해시코드 - getClass().getName() : 패키지명 + 클래스명 - Integer.toHexString(hasCode()) : 해시코드 - 객체의 정보를 문자열 형태로 표현하고자 할 때 오버라이딩을 자주하는 편equals() - 객체의 값이 같은지 연산clone() - 객체의 복사본을 만듬 - clone()은 객체를 복제할 때 ..
추상 메소드메소드를 선언만하고 구현을 하지 않는 것을 추상 메소드라고 한다.(미완성된 메소드) ex) abstract void 메소드명(매개변수); 구현부가 없다. 1. abstract 키워드를 사용한다. 2. 마지막에 세미콜론을 써야한다.추상 클래스abstract키워드 붙은 클래스는 추상클래스이며 추상메소드가 한 개 이상있는 클래스는 반드시 추상클래스로 선언해야한다.ex) abstract class 클래스명{ abstract void 메소드명(매개변수); * 일반메소드 선언 가능 } 1. abstract 키워드를 사용 2. 객체화 시킬 수 없다.(new 메소드 못씀)**미완성된 메소드(추상메소드)는 상속받은 자식클래스에서 반드시 재정의하여 ..
면접 단골문제 다형성, 오버로딩,오버라이딩다형성(polymorphism)객체지향언어의 중요한 특징 중 하나참조변수의 다형성, 메소드의 다형성이 있다.상속(Inheritance) ★중요기존에 선언된 클래스의 멤버(생성자는 제외)를 새롭게 만든 클래스에 사용하고 싶을 때 상속을 받고 새로운 기능만 추가한다.여러 클래스 선언 시 멤버가 겹치는 경우, 부모 클래스를 먼저 선언하고 공통멤버를 자식클래스에 상속해준다.상속 문법class Parents{ Parents 멤버}class Child estends Parents{ Parents, Child멤버}super : 부모의 참조값부모의 멤버에 접근할 때 사용한다.super() : 부모 생성자자식클래스타입의 객체로 부모필드에 접근할 수 있다.우리는 객체를 ..