
1. Iterator, keySet 이용하여 key로 순회 Map hashMap = new HashMap(); int sum = 0; Iterator iterator = hashMap.keySet().iterator(); while (iterator.hasNext()) { int value = hashMap.get(iterator.next()); if (value % 2 == 0) {sum += value;} } 2. Iterator, values 이용하여 value로 순회 Map hashMap = new HashMap(); int sum = 0; Iterator iterator = hashMap.values().iterator(); while (iterator.hasNext()) { int value ..

컴퓨터 프로그래밍에서 에러가 발생하는 이유 외부요인: 하드웨어 / 네트워크 / 사용자 조작 오류 내부요인 도표와 같이 모든 에러와 예외클래스는 최상위 Throwable 클래스로부터 확장된다 에러 발생 시 복구가 어려운 수준의 심각한 오류. 메모리부족(OutOfMemoryError) 스택오버플로우(StackOverFlowError) 예외 런타임 예외: 컴퓨터가 수행할 수 없는 특정작업을 요청할 때 발생 (JVM에 의해 감지) 컴파일 예외: 오타, 문법오류 등의 Syntax(문법) 오류로부터 발생. (자바 컴파일러에 의해 감지) 예외 일반 예외 클래스 런타임 예외류를 제외한 모든 예외 클래스를 지칭 컴파일러가 코드 실행 전 예외 처리 코드 여부를 검사한다고 하여 checked 예외라고도 부른다. 잘못된 클래..

제네릭(Generic)이란, 타입을 구체적으로 지정하지 않고 추후에 지정할 수 있도록 일반화(Generalization) 하는 것이다. 이는 작성한 클래스 또는 메서드가 특정 데이터 타입에 얽매이지 않도록 해두는 것을 의미한다. 제네릭 예제코드 class Basket { private T item; public Basket(T item){ this.item = item; } public T getItem(){ return item; } public T setItem(){ this.item = item; } } // 타입 파라미터를 여러 개 사용해야 한다면, 그만큼 추가하면 된다. class Basket{...} Basket basket1 = new Basket(3,5,7); Basket basket2 =..

Enum 서로 연관있는 상수의 집합이다. Enum없이 상수를 선언할 경우 (public static final)의 형태로 선언하게 되는데, 상수명이 중복되는 경우가 발생할 수 있다. public static final int SPRING = 1; public static final int SUMMER = 2; public static final int FALL = 3; public static final int WINTER = 4; public static final int DJANGO = 1; public static final int SPRING = 2; // 계절의 SPRING과 중복 발생! public static final int NEST = 3; public static final int EX..

JAVA에서는 사용자로부터 데이터를 입력 받아 변수로 활용할 수 있는 방법이 여러 가지가 있다. Scanner BufferedReader 위 두 가지가 JAVA에서 입력받을 때 사용되는 대표 클래스이다. 1. Scanner import java.util.Scanner; // Scanner 클래스 호출 Scanner sc = new Scanner(System.in); // Scanner 클래스의 객체 생성 String str = sc.nextLine(); // 입력한 내용이 str에 저장 int i = sc.nextInt(); System.out.println(str);// 입력한 문자열이 출력됩니다. System.out.println(i); // 입력한 정수가 출력됩니다. 기본적인 사용방식과 메서드는 위..

산술(+, -, *, /, %) % : 나머지 증감(++,--) 전위형, 후위형 //전위형은 증감을 하고 나서 num1 값에 할당. 이후 증감된 num1을 prefix에 할당 //아래 코드의 결과값은 num1=2, prefix=2가 됨 int num1 =1; int prefix =++num1; //후위형은 num2를 postfix에 할당, 이후 num2값을 증감 //아래 코드의 결과 값은 num2=1, postfix=2 int num2 =1; int postfix =num2++; 복합대입연산자( +=, -=, *=, /=, %=) answer = answer + 5; == answer += 5; 대소비교연산자(부등호) 비교연산자 사용시 주의할 점: 이항 비교만 가능 1 < x < 5 의 형태로 쓸 수 없..

객체지향 프로그래밍이란? 객체지향 프로그래밍(Object-Oriented Programming)이란 프로그램을 설계하는 개념이자 방법론. 프로그램 = 현실세계 객체 = 사물 객체지향 프로그래밍(OOP)은 프로그램을 유연하고 변경하기 쉽게 만든다. 따라서, 재사용성이 용이하여 대규모 프로젝트에서 많이 사용되는 방법론이다. 프로그램 개발과 유지보수가 용이하다는 점이 가장 큰 장점으로 꼽힌다. 객체지향 vs 절차지향 비교의 용이성을 위해 표로 장단점을 비교했지만, 두 개념은 반대되는 개념이 아니다 비교 객체지향 언어 절차지향 언어 장점 - 코드 재사용성이 용이하다 - 개발(코딩)이 간단하다 - 유지보수가 쉽다 - 대규모 프로젝트에 적합하다 - 처리속도가 빠르다 - 초기 프로그래밍 언어로 컴퓨터의 처리구조와 비..