국비지원 공부 정리/Java 10

Collection FrameWork - Map, Set, List

Collection FrameWork 객체의 그룹을 효율적으로 관리하기 위한 다양한 클래스와 인터페이스를 제공함객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 클래스들을 java.util 패키지에 포함  Collection FrameWork 의 상속 구조 List, Set객체를 추가, 삭제 검색하는 방법에 때한 공통점이 존재해 공통된 메소드만 따로 모아 Colllection 인터페이스로 정의해두고 이를 상속함Map키와 값을 하나의 쌍으로 묶어서 관리하는 구조로 List, Set과 사용하는 방법이 틀림 List란?요소의 순서를 유지하고 저장하며 중복된 요소를 허용하는 컬렉션 List의 종류ArrayListArrayList는 List 인터페이스의 동적 배열 구현초기 크기가 있지만, 요소가 추..

자바의 재네릭과 와일드카드

제네릭이란?자바에서 형 안전성을 높이기 위해 도입된 프로그래밍으로 컴파일 시간에 타입 오류를 더욱 효과적으로 찾아낼 수 있으며 클래스, 인터페이스, 메서드에 대한 타입을 파라미터로 전달할 수 있게 해주는 역할즉, 결정되지 않은 타입을 파라미터로 넘겨주어, 실제 사용할 때 파라미터의 타입을 결정하는 기능   제네릭의 장점타입 안전성잘못된 타입의 객체가 저장되는 것을 컴파일 시간에 방지형 변환 필요성 감소 제네릭을 사용하면 명시적인 형 변환이 필요 없어짐코드 재사용성일반 클래스나 메서드로 다양한 타입에 대해 동작하는 코드를 작성하는 것이 가능함 제네릭 타입public class 클래스명public interface 인터페이스명 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스로 일반적으로 괄호 안의..

Wrapper 클래스 - 기본 변수를 포장

Wrapper 클래스란?8가지 기본 자료형(primitive type)을 객체로 표현하기 위해 제공되는 클래스객체로서 다양한 메서드와 속성을 사용하며, 포장하고 있는 기본 타입은 외부에서 변경할 수 없음.주로 객체를 생성하는데 초점이 맞춰져 있음 Wrapper 내용기본 타입포장 클래스byteBytecharCharctershortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBoolean  Wrapper 클래스를 사용하는 이유  특징이유컬렉션 저장자바의 클렉션은 기본 데이터 타입을 직접 저장하지 못함기본 데이터 타입을 저장하고 싶을 때엔 Wrapper 클래스를 사용하는 것이 원칙null 값 허용기본 데이터 타입은 null 값을 가질 수 없음그러나 어떤 값이 없..

추상 클래스와 인터페이스

추상 클래스하나 이상의 추상 메소드(선언만 있고 구현되지 않은 메소드)를 포함하는 클래스상속 관계에서 부모 클래스 역할을 하며 추상 메소드와 일반 메소드 모두를 가져하며, 추상 메소드는 부모 클래스에서 모두 구현되어야 함객체의 공통된 특징을 추상화해서 정의하고 이를 상속 받는 서버클래스에서 구현실제 클래스는 추상 클래스를 상속해서 공통적인 필드나 메소드를 물러받음ㅂ 추상 클래스의 용도설계와 구현을 분리하기 위해서 이며, 부모 클래스에선 개념을, 자식 클래스에선 구체적 행위를 구현함단, 추상 클래스는 미완성된 클래스이므로 new 연산자를 통해 직접적인 생성은 불가능함 인터페이스추상 클래스는 추상 메소드가 없어도 상관 없지만, 인터페이스는 추상 메소드만 존재함상속과 달리 하나의 클래스가 두 개 이상의 인터페..

객체지향 프로그래밍과 객체

객체지향 프로그래밍(Object Oriented Programming)필요한 데이터와 코드를 묶어 하나의 객체로 만들고 이 객체들 간에 상호작용을 하도록 프로그램을 만드는 방식 객체?물리적으로 존재하거나 개념적인 것 중에서 다른 것과 식별이 가능한 것ex. 학생, 자동차, 학과 등속성(field, 필드)와 동작(메소드, method)로 구성됨 객체지향 프로그래밍의 특징캡슐화(Encapsulation)객체의 필드와 메소드를 묶고, 내용을 외부에 감추는 것상속(Inheritance)부모 객체에 필드/메소드를 자식 객체에게 물려주는 것다형성(PolyMorphism)사용 방법은 동일하지만 결과가 다양하게 나오는 것 객체 지향 프로그래밍의 장단점장점코드 재사용성이 크게 향상됨유지 보수에 용이대형 프로젝트에 적합단..

JAVA 예외처리

JAVA에서의 예외 처리란?예외란 프로그램을 실행하는 도중에 의도치 않은 결과가 나오는 경우를 의미함이러한 예외조건을 처리하고 방지하는 것을 예외 처리하고 한다. 컴파일 오류개발 언어의 문법에 맞지 않고 작성된 코드가 있을 때 발생되며, 코드가 실행조차 되지 않음  예외가 발생하는 경우 try- catch 문을 통해 컴파일러가 발생한 오류의 유형을 파악하면 그 유형에 따라 에러를 처리하게 됨  예외의 종류예외 클래스발생 원인 설명NullPointerExceptionnull 참조 객체에 접근할 때 발생. 예: obj.method()에서 obj가 null일 경우null 객체에 접근 시 발생하는 오류ArrayIndexOutOfBoundsException배열 인덱스가 범위를 벗어날 때 발생. 예: arr[10]..

자바의 반복문

1. 기본적인 for 문for(int i=0; i  2. for-each 문for(int value : intArray){ System.out.print(value + " ");} • 배열의 각 원소에 순차적으로 접근하는데 유용한 for 문 3. while 반복문 int i = 0;while (i  while 반복문은 조건이 참이 될 동안 계속 반복합니다. 조건을 먼저 체크하고, 조건이 참일 경우에만 코드 블록을 실행합니다. 4. do-while 반복문 int i = 0;do { System.out.println(i); i++;} while (i  do-while 반복문은 최소한 한 번은 실행되고, 그 후 조건을 확인하여 반복을 계속할지 결정합니다. 즉, 조건을 나중에 확인합니다. 반복문의 제..

Arrays 클래스와 ArrayList

Arrays 메소드copyOf( arr, copyArrayLength )열 전체를 복사해 복사할 길이 만큼 지정하여 복사한 새로운 배열로 반환copyArrayLength를 채울 만큼 반환(내용이 적은 경우는 반복)copyOfRange( arr, sIdx, eIdx )배열 시작 인덱스와 끝 인덱스를 지정 하여 복사한 새로운 배열 반환fill( arr, n )배열의 모든 요소를 동일한 값으로 채워주는 함수 크기가 정해진 빈 배열 arr을 모두 n으로 채운다는 의미toString( arr )배열을 문자열로 변환하여 반환sort( arr )배열내의 요소들을 오름차순으로 정렬(원본 배열 순서 변경)equals( arr1, arr2 )두 배열의 각각의 요소 값을 비교하여 true/false 반환deepEquals ..

JAVA에서의 변수명

JAVA에서의 식별자란?★ 클래스, 변수, 상수, 메소드 등에 붙이는 이름, 즉 변수명을 지칭함 식별자 원칙?★ @, #, !와 같은 특수문자 사용 불가★ 예외로 '_(언더바)', '$(달러)'는 사용 가능★ 한글 사용은 가능하지만, 변수명은 영어로 하는 것이 좋음★ 공백은 불가능함★ 미리 정의된 키워드(예약어)는 식별자로 사용 불가★ 첫글자로는 사용 불가능하지만, 숫자 사용은 가능함 자바의 예약어 자바의 데이터 타입타입크기의미booleantrue, false논리 타입char1자리(2비트)문자 타입byte정수 타입short정수 타입int 정수 타입long정수 타입float실수 타입double실수 타입 실수 형 타입을 사용할 때 주의할 점 import java.math.BigDecimal;public cl..

JAVA란?

JAVA란?★ 썬 마이크로시스템즈에서 1995년에 처음 발표된 프로그래밍 언어★ 웹, 안드로이드 애플리케이션, 데스크롭 애플리케이션 등을 개발하는데 사용 가능★ 현재 오라클이 인수했으며, JDK를 배포하여 자바로 프로그램을 개발할 수 있도록 지원해주고 있음   JAVA의 특징★ 모든 운영체제(윈도우, 맥, 리눅스)에서 실행 가능★ 객체 지향 프로그래밍(OOP, Object Oriented Programming) 언어★ 메모리(RAM) 을 자동으로 관리하여 개발자가 메모리 관리를 신경쓰지 않고 개발할 수 있음★ 오픈 소스 라이브러리가 다양함 JAVA와 관련된 용어 정리 JDK(Java Development kit)★ 자바로 개발하는데 사용되는 SDKJRE(Java Runtime Environment)★ 자..