반응형

개발자 7

[Java9 프로그래밍] 12. 람다 표현식

함수형 인터페이스 Comparator 인터페이스 int compare(T first, T second); // T는 어떠한 타입이 와도 된다는 이야기. Runnable 인터페이스 void run(); // thread에서 많이 사용한다. 사용자 인터페이스 콜백 void handle(ActionEvent e); 함수형 인터페이스란? 추상 메소드 하나만 포함하는 인터페이스 Comparator 인터페이스 예제 Comparator 인터페이스를 구현한 클래스 class LengthComparator implements Comparator { public int compare(String first, String second) { return first.length() - second.length(); } } =>..

Programming/Java 2020.03.21

[Java9 프로그래밍] 11. 인터페이스

인터페이스 선언 서비스 공급자(서버)와 사용자(클라이언트) 간의 계약을 표현하는 메커니즘 인터페이스 구성 필드, member variable 인터페이스에서 정의된 모든 필드는 final static이 생략된 상수로 강주된다. 메소드 추상 메소드 : 반드시 구현 클래스에서 구현 필요 디폴트 메소드 : 구현클래스에서 구현 필요 없음(디폴트로 사용한다는 의미) 정적 메소드 : static 메소드, 객체 없이 바로 호출 가능 => 원래는 추상메소드만 가능했으나 java8에 와서는 디폴트 메소드와 정적 메소드가 추가되고 java9에 와서 private 메소드까지 추가 가능해짐. public interface shoppingService { // fields double TAX_RATE = 0.005; // abs..

Programming/Java 2020.03.21

[Java9 프로그래밍] 05-06. 데이터 구조, ArrayList, Map

배열의 선언과 초기화 배열 : 여러개의 데이터를 한꺼번에 처리할 때 사용 char[] arrayVar = new char[7]; // => 캐릭터 배열 타입 //=> 7개짜리 캐릭터 배열을 만든다. => 네모 하나가 char 타입의 변수다. 7개가 들어가는 캐릭터 배열을 만들었다. 빈 배열. 크기만 할당. 배열에 값 넣기 arrayVar[2] = ‘c’; // 2번 인덱스에 'c' 문자 할당 arrayVar = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’}; // 모든 문자 할당 배열 안의 하나하나를 element/item, 요소라고 말한다. Java에서는 배열을 생성하면 엘레먼트의 값이 디폴트 값으로 초기화됨. Int[] arrayVar = new int[7]; => 인트형 배열의 경..

Programming/Java 2020.03.13

[Java9 프로그래밍] 04. 제어 흐름 (Control Flow)

분기와 루프 구조적으로 프로그래밍을 지원하는 if (분기), for (루프, 반복) 과거에는 goto라는 분기문을 사용했다. 특정 라인으로 바로 점프할 수 있지만 코드가 복잡해지면서 코드의 유지보수가 힘들어짐. 이것을 수학적으로 증명한 것이 구조적 프로그래밍. 문법은 C++과 자바스크립트, 파이썬, Kotlin, Swift와 유사. 분기, Branching if문은 괄호 안에 조건이 들어가고, 그 뒤에 한 문장 또는 중괄호로 감싼 문장이 옴. if (boolean 혹은 condition){ statement; } 비교 연산자의 결과 값은 모두 boolean 타입 크다 : x>y 작다 : x=y 작거나 같다 : x 이런 비교연산자의 결과값은 항상 참이나 거짓, boolean타입이다. age변수의 데이터를 ..

Programming/Java 2020.03.13

[Java9 프로그래밍] 03. 변수와 타입의 이해 2

Java에서 변수명을 짓는 방법 변수의 의미와 목적이 분명히 나타나야 한다. 비슷한 이름은 사용하지 않는다. 단축어 사용을 지양한다. 숫자로 시작할 수 없다. 띄어쓰기를 할 수 없다. 특수기호를 사용하지 않는다. 예약어를 사용하지 않는다. Camel Case를 지킨다. => 단어와 단어사이엔 대문자로 표시. 대소문자를 구분한다. Camel Case 사용 변수명의 머리글자는 소문자로 시작한다. 다음 나타나는 단어의 머리글자는 대문자로 한다. ex) int resultOfCalculateTwoNumbers = 10 + 50; => 장황해보일순 있지만 복잡한 애플리케이션과 비즈니스에선 이런식으로 써주는게 고수로 가는 길이다. UTF-8 인코딩이란? 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 ..

Programming/Java 2020.03.13

[Java9 프로그래밍] 02. 변수와 타입의 이해 1

변수, Variable이란? 데이터를 담아두고 사용하는 메모리 공간 이름을 부여하여 접근/사용함 int (type) count (name) count = 100; (Container named “Count” holding a value 100) (100을 변수 count에 할당) ** int count 만 해서 선언을 하면 초기화가 되있지 않기 때문에 자바에서 돌아가지 않음. 변수 : 데이터를 계산, 처리하기 위해 잠시 저장하는 저장소 사용자로부터 입력 받은 값 계산을 위해 잠시 저장하는 값 계산의 결과 값 등을 저장. 변수의 타입 - 기본 타입 (많이 사용하는 타입. 나머지는 모두 객체 타입) 자바 변수의 기본 타입, Primitive Data Type 정수 타입 부동소수점 타입 char 타입 bool..

Programming/Java 2020.03.13

[Java9 프로그래밍] 01. 자바 시작하기

들어가기 앞서 자바는 학원에서 맛보기 식으로 잠시 배웠었지만, 기초는 한참 부족했었다. 폴리텍 대학에서 제공하는 Java9 프로그래밍 인강을 들으며 정리한 내용을 적어내려가며 복습하고자 한다. 자바의 특징 고 수준 범용 언어 서버 개발, 데스크톱 애플리케이션 안드로이드용 네이티브 언어 객체지향 언어 자바8에서 함수형 언어 모습 추가 플랫폼 독립적 각 플랫폼용 JVM이 제공 (Java Vertual Machine) 최적화된 JVM으로 성능과 안정성 보장 Java Code(.java) => JAVAC compiler => Byte Code(.class) => JVM(운영체제별로 다름) => Windows/Linux/Mac ==> 자바는 최적화된 JVM 위에서 동작하는 객체지향 언어이다. 자바의 역사 1996..

Programming/Java 2020.03.13
반응형