전체 글

나의 성취 기록들
개발일지/Java

Java 람다식 (Lambda Expression

메서드를 하나의 식(expression)으로 표현한 것 람다식은 매우 간결하면서 명확하게 표현할 수 있다는 큰 장점이 있다 람다식의 기본 문법 기본적으로 반환 타입과 이름 생략 가능 익명 함수(anonymous function)이라고도 불림 실행문이 하나만 존재할 때 중괄호 생략 가능 //기존 메서드 표현 방식 void sayhello() { System.out.println("HELLO!"); } //위의 코드를 람다식으로 표현한 식 () -> System.out.println("HELLO!") 추가로 알아볼 것 : 함수형 인터페이스, 메서드 레퍼런스

개발일지/Java

Java 애너테이션 (Annotation)

특정 코드를 사용하는 '프로그램'에게 정보를 전달하는 것 애너테이션이 하는 역할은 주석과 거의 흡사하다. 다만 대상이 다를 뿐이다. 주석은 개발자의 이해를 돕기 위해서 사용하지만 애너테이션은 프로그램에게 유용한 정보를 제공하기 위해 사용한다. 애너테이션의 주요 역할 컴파일러에게 문법 에러를 체크하도록 정보를 제공한다 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다 런타임에 특정 기능을 실행하도록 정보를 제공한다 사용 예시 @Test // 아래 메서드가 테스트 대상임을 테스트 프로그램에게 알리는 애너테이션 public void run() {...생략...} public void stop() {...생략...} 애너테이션의 종류 표준 애너테이션 : 자바에서 기본적으로 제공하는 애너테이..

이것저것

백엔드 부트캠프 section 1 - 가 보자고~

개발자로의 커리어 전환을 꿈꾸며 개발 공부를 시작했다. 혼자서 공부하다 보니 체계적이지 못한 느낌이었고, 현재 나의 수준이 어느 정도인가를 파악하기가 애매했다. 그래서 부트캠프를 신청하여 듣게 되었다. 그렇게 시작한 부트캠프가 벌써 한 달이 지났다. 깃, 리눅스, 자바 등 다양한 것들을 배웠다. 쉬운 부분도 있었고 어려운 부분도 있었지만, 전반적으로 너무 재밌다. 특히 배운 내용들을 활용해서 문제를 푸는 게 너무 재밌다. 이전에는 뗀석기로 사냥을 했었다면 새로운 내용을 배움으로써 총을 들고 사냥을 하는 느낌?? 1일 1커밋 스터디와 알고리즘 스터디도 참여 중이다. 이 부트캠프에서 얻을 수 있는 모든 것들을 얻어가고 싶다. 스터디 사람들과 유용한 정보도 서로 공유하고 힘들 때 서로 돕는 이 분위기가 너무 ..

개발일지/Java

Java Map<key, value>, HashMap

Map 키(key)와 값(value)으로 구성된 객체(Entry)를 저장하는 구조 -> 키와 값으로 구성된 엔트리 객체가 모여있는 구조 키는 중복 저장이 불가능하다 -> 값을 식별하기 위해 값은 중복 저장이 가능하다 HashMap, Hashtable, TreeMap, SortedMap 등 기능 리턴 타입 메서드 설명 객체 추가 Object put (Object key, Object value) 주어진 키로 값을 저장합니다. 해당 키가 새로운 키일 경우 null을 리턴하지만, 동일한 키가 있을 경우에는 기존의 값을 대체하고 대체되기 이전의 값을 리턴합니다. 객체 검색 boolean containsKey (Object key) 주어진 키가 있으면 true, 없으면 false를 리턴합니다. boolean c..

개발일지/Java

Java Set<E>, HashSet, TreeSet

수학에서의 Set은 집합을 의미하는데 집합은 일반적으로 중복을 허용하지 않는다. 자바 컬렉션에서의 Set은 수학에서의 집합과 유사하다. Set 중복을 허용하지 않는다 저장 순서를 유지하지 않는다 Set 인터페이스에 정의된 메서드들은 다음과 같습니다. 기능 리턴 타입 메서드 설명 객체 추가 boolean add(Object o) 주어진 객체를 추가하고, 성공하면 true를, 중복 객체면 false를 반환합니다. 객체 검색 boolean contains(Object o) 주어진 객체가 Set에 존재하는지 확인합니다. boolean isEmpty() Set이 비어있는지 확인합니다. Iterator Iterator() 저장된 객체를 하나씩 읽어오는 반복자를 리턴합니다. int size() 저장되어 있는 전체 객..

개발일지/Java

Java Iterator

Iterator Collection에 저장된 요소들을 순차적으로 읽어오는 역할 (List, Set) 메서드 설명 hasNext() 읽어올 객체가 남아 있으면 true를 리턴하고, 없으면 false를 리턴합니다. next() 컬렉션에서 하나의 객체를 읽어옵니다. 이 때, next()를 호출하기 전에 hasNext()를 통해 읽어올 다음 요소가 있는지 먼저 확인해야 합니다. remove() next()를 통해 읽어온 객체를 삭제합니다. next()를 호출한 다음에 remove()를 호출해야 합니다. List에서 String 객체 반복 ArrayList list = ...; Iterator iterator = list.iterator(); while(iterator.hasNext()) { // 읽어올 다음 객..

개발일지/Java

Java List<E>, ArrayList, LinkedList

List 배열과 같이 객체를 일렬로 늘어놓은 구조를 가지고 있음 객체를 저장하면 자동으로 인덱스가 부여됨 인덱스로 객체를 검색, 추가, 삭제할 수 있음 ArrayList 객체가 인덱스로 관리된다 저장 용량 초과 시, 자동으로 늘어남 (기본적으로 10이 지정됨) 데이터가 연속적으로 존재 (순서 유지) 특정 인덱스 객체 제거 시, 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 당겨짐 ArrayList 객체명 = new ArrayList(초기 저장 용량); ArrayList container1 = new ArrayList(); // String 타입의 객체를 저장하는 ArrayList 생성 // 초기 용량이 인자로 전달되지 않으면 기본적으로 10으로 지정됨 ArrayList container2 = n..

개발일지/Java

Java 컬렉션 프레임워크 (Collection Framework)

특정 자료 구조에 데이터를 추가하고, 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들의 집합 List 데이터의 순서가 유지됨 중복 저장 가능 Set 데이터의 순서가 유지되지 않으며, 중복 저장이 불가능 Map 키(key)와 값(value)의 쌍으로 데이터를 저장 데이터의 순서가 유지되지 않음 키는 값의 구별을 위해 중복 저장 불가 값은 중복 저장 가능 Collection 인터페이스 List + Set 기능 리턴 타입 메소드 설명 객체 추가 boolean add(Object o) / addAll(Collection c) 주어진 객체 및 컬렉션의 객체들을 컬렉션에 추가합니다. 객체 검색 boolean contains(Object o) / containsAll(Collection c) 주어..

개발일지/Java

Java 예외 처리 (Exception Handling)

프로그램의 비정상적인 종료를 방지하고, 정상적인 실행 상태를 유지하기 위하여 수행 컴파일 에러 컴파일할 때 발생하는 에러 주로 세미콜론 생략, 오탈자, 잘못된 자료형, 잘못된 포맷 등 문법적인 문제를 가리키는 신택스(syntax) 오류로부터 발생한다 아래 코드는 for문을 닫는 괄호가 없다 public class ErrorTest { public static void main(String[] args) { int i; for (i= 1; i

E-room
E-room Achievement Logs