프로그래밍/Java (49) 썸네일형 리스트형 20.02.10) Java - AWT 목차 AWT하는 목적 이벤트 처리 이벤트의 인자로 람다를 쓰는 이유는? 이벤트와 IO 처리 관련 주의사항 AWT란 객체지향이 GUI를 표현하기 위해 만들어졌다. 운영체제의 기능을 가져다 쓰는 것이다. GUI프로그램은 무한루프로 계속 코드가 실행되고 있는 것이다. GUI는 싱글쓰레드로 해야 한다. 멀티쓰레드는 데드락으로 죽을 가능성이 높다. 이벤트 처리 컴포넌트에 이벤트 리스너를 추가해야 한다. 이벤트 리스너가 없어도 이벤트는 발생하고 있다. 운영체제가 수집하고 있다. 운영체제는 이벤트 큐를 이용해 이벤트를 관리한다. 이벤트가 일어나면 리스너에 등록된 콜백 함수를 실행한다. 콜벡함수는 내가 실행하는 것이 아니라 이벤트가 실행될 때 필요한 순간에 동작하는 함수이다. 이벤트의 인자로 람다를 쓰는 이유는? 자바.. 20.02.09) Java - Lambda 목차 람다란? 람다식 인자 전달 람다가 필요한 순간은? 람다식의 다양한 표현 함수형 인터페이스와 어노테이션 람다식과 제네릭 람다란? 람다식은 컴파일러가 구별할 수 있는 수준만 남기고 다 생략하는 기법을 말한다. 익명클래스로 간단해진 코드를 더 간단하게 만들어준다. 익명 클래스란 클래스의 정스의 없이 인스턴스를 생성하는 클래스를 말한다. 클래스 생성이 없이 때문에 클래스의 이름이 없다. 그래서 익명이다. 익명 클래스를 생략하면 람다식이 만들어진다는 100% 정답은 아니지만 사용자 관점에서는 큰 차이가 없다. 람다식 인자 전달 만약 어떤 인터페이스의 참조변수를 람다식으로 생성한다면 그 람다식은 그 인터페이스가 인자인 메서드의 인자로 전달될 수 있다. 무슨 말이냐 한번 살펴보자. public class Lam.. 20.02.06) 자바 주요 학습 키워드 아래 주제에 대해 1) 책 없이 코딩 가능 2) 면접관에게 설명 또는 3) 서술형 답안을 완성할 수 있을 정도로 공부해 보자. 자바의 기본 자료형과 연산자, 단항 연산자 및 이항 연산자의 차이 변수의 스코프 스코프를 이해하기 위해선 memory 구조, JVM의 작동원리, GC의 동작원리, byteCode에 대해 알아야 한다. 자바 고급 개발자는 byteCode를 직접 읽고 쓴다고 한다. 메소드와 스코프 메소드는 객체가 책임을 수행하는 방법을 의미한다. 객체 지향 프로그래밍에서 객체들은 메세지로 소통하는데, 객체가 수신하는 메세지는 객체의 인터페이스를 의미한다. 인터페이스와 다르게 외부에 드러나지 않고 객체가 책임을 수행하기 위한 방법이 메서드이다. 스코프는 메서드가 수행되는 코드상의 범위를 말한다. 지역.. 20.02.02) Java - Stream Stream 신기술은 어렵다. 배우는 과정은 힘들다. 그냥 익숙한 지식을 쓰고 싶을 뿐이다. 하지만 신기술을 배운다면 무척 유용하다. 시간도 단축되고 무엇보다 "이걸 안 배웠으면 정말 멍청했겠다"라는 반응이 나온다. 지금 Stream은 나에게 신기술이다. java라는 언어 자체가 익숙하지 않지만 Stream을 배워야 좀 더 효율적으로 사용할 수 있다. 배열이나 컬렉션에 데이터를 담고 원하는 결과를 얻기 위해선 for문이나 Iterator를 사용했지만 Stream을 통해서 간편하게 사용 가능해졌다. 배열을 Stream으로 만들고 Stream의 메서드를 사용한다. 스트림의 필요성 우리가 콜렉션 인스턴스를 만들면 보통 그 안에 데이터를 사용하기 위함이다. 예를 들어, ArrayList에 1~10까지 숫자가 있.. 20.01.29) Java - Input&Output 목차 I/O Stream 문자 스트림 핵심 Stream이란 데이터의 이동 통로이다 Stream이란? 스트림을 데이터의 이동 통로이다. close()를 하는 이유는 스트림에 할당된 자원을 반환하는 용도이다. 그리고 입력이나 출력이 끝났는 그 통로를 그대로 둘 필요가 없다. 기본적인 데이터의 입출력 단위는 바이트이고, 바이트 단위로 데이터를 입력 및 출력하는 스트림을 가리켜 '바이트 스트림'이라 한다. 왜 바이트일까? 생각해보면 컴퓨터의 모든 프로그램은 0과1로 이루어진 이진수이다. 그렇기 때문에 아무리 한글로 써있다고 해도 0과1로 바뀐다. 그래서 데이터의 기본 입출력 단위가 숫자인 바이트이다. Stream과 I.O Stream의 차이는? map, reduce를 제공하는 Stream은 배열,.. 20.01.25) Enum 목차 Enum이란 Enum 속 상수는 인스턴스이다.핵심 책으로 이해가 안될 땐 영상으로, 영상이 이해가 안될 땐 책으로.. 다양하게 공부하자. Enum이란 열거형이라고 한다. 어플리케이션 전체에서 사용하는 상수를 따로 포장해서 관리할 수 있다. 상수를 클래스 안에 길게 늘어뜨리지 않고 enum으로 변하게 사용 가능하다. 또한, 상수의 타입 확인을 확실하게 할 수 있다. enum은 클래스이다. 상수를 효과적으로 관리하는 클래스라고 생각하면 된다. 맨 처음 배울 땐 왜 쓰는지 몰랐지만, 책에선 열거형 상수를 사용하면, 기존 소스를 다시 컴파일 하지 않아도 된다고 한다. Enum 속 상수는 인스턴스이다. Enum 속 상수들은 단순히 상수가 아니라 하나의 인스턴스가 생겨난 것이다. 그렇기 때문에 생성자를 Enu.. 20.01.18) Java - 자주 하는 실수 객체 선언만 하고 생성안하고 사용할 때 : NullPointException java error : release version 13 not supported project structures -> project -> projectSDK를 java 13으로 지정한다. 20.01.09) Java - 유용한 메서드 형변환 int -> String : Integer.toString(); String -> int : String.valueOf(); , Integer.toString(); Double -> int : (int) int -> Double : (Double) 진법 변환 : Integer.parseInt("100", 16); -> 16진수 100을 계산해봐 : 16^2 자료형 확인 객체 자료형에서 사용 가능하다. str instanceof String : return값은 true or false str.getClass() : return 값은 class java.lang.String Array 초기화 방법 for문 사용 Arrays.fill(arr, 3) : 같은 값으로 초기화 int[] arr = {1, 2.. 이전 1 2 3 4 ··· 7 다음