자바의정석 1.5 와일드 카드 ~ 1.8 지네릭 타입의 제거 그래서 오버로딩 개념이 아니라, 메서드 중복 정의가 되기 때문에 <> 사이에 T,E,K,V 이것은 다 같은 동작을 하고 네이밍은 관습 ex) E는 List, ArrayList 와 같은 컬렉션을 사용할때 사용한다. E 엘리먼트 ( List: 엘리먼트 목록) K 열쇠입니다 (에서 Map<K,V>) 하지만 '?'만으로는 Obj와 다를게 없으므로 extents와 super 사용 extends T>'... 자바의정석자바의정석 Chapter 12 지네릭스, 열거형, 애너테이션 / 1. 지네릭스(Generics) 클래스에 선언하는 지네릭 타입 지네릭이 도입되기 이전의 코드와 호환을 위해, 지네릭 클래스인데도 예전의 방식으로 객체를 생성하는 것이 허용 타입 변수 T에 Object타입을 지정하면, 타입을 지정하지 않은 것이 아니라 알고 적은 것이므로 경고는 발생하지 않는다. 지네릭스가 도입되기 이전의 코드와 호환성을 유지하기 위해서 지네릭스를 사용하지 않은 코드를 허용하는 것일 뿐, 앞으로 지네릭 클래스... 자바의정석자바의정석 #6 객체지향 (1) ex) 붕어빵 틀 : 클래스, 붕어빵 : 객체 인스턴스 변수의 경우 각 객체가 다른 값을 가질 수 있다. 인스턴스변수는 인스턴스가 생성되었을 때 생성되므로 인스턴스마다 각기 다른 값을 가질 수 있다. 클래스 변수(static 붙은 것)는 클래스가 메모리에 올라갈 때 생성되며 모둔 인스턴스가 하나의 저장공간을 공유하므로 항상 공통된 값을 가진다. 클래스 설계할 때 멤버변수 중 모든 인스턴스에 ... 자바의정석자바의정석 객체지향 프로그래밍 1 (1-3) 3. 신뢰성이 높은 프로그래밍을 가능하게 한다 : 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 위 Tv 클래스 는 Tv의 설계도 일뿐, 클래스의 인스턴스를 생성해야 Tv를 사용할 수 있다. 배열 : 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간 변수는 클래스 변수, 인스턴스... 자바의정석자바의정석 #5 배열 타입[] 변수이름 = new 타입[길이]; tmp를 써서 for문 돌리는 방법도 있지만 System.arraycopy()를 이용하자. System.arraycopy(num, 1, newNum, 0, num.length-1); => num[1]에서 newNum[0]으로 num.length-1개의 데이터를 복사한다는 의미 char charAt(int index) 문자열에서 해당 index에 있는... 자바의정석자바의정석 람다와 스트림 람다식은 간단히 말해서 메서드를 하나의 식으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 모든 메서드는 클래스에 포함되어야 하므로 클래스도 새로 만들어야 하고, 객체도 생성해야하만 비로소 이 메서드를 호출할 수 있다. 그러나 람다식은 이 과정을 람다식 자체만으로도 이 메서드의 역할을 대... 자바의정석자바의정석 [자바의정석]Java - 람다&스트림(2) #016 스트림의 연산 Stream< T > limit(long maxSize) : 스트림의 일부를 잘라낸다 Stream< T > skip(long n) : 스트림의 일부를 건너 뛴다 Stream< T > peek(Consumer< T > action): 스트림의 요소에 작업수행 Stream< T > sorted(),(Comparator< T > comparator): 스트림의 요소를 정렬 Strea... Java자바의정석Java 자바의 정석 Chapter 04 조건문과 반복문 조건문은 조건식 + 문장을 포함하는 블럭{}으로 구성되어 있다. 'else'의 뜻이 '그 밖에 다른' 이므로 조건식의 결과가 참이 아닐 때, else 블럭의 문장을 수행하라는 의미이다. 첫 번째 조건식부터 순서대로 평가해서 결과가 참인 조건식을 만나면, 해당 블럭{}만 수행하고 'if - else if'문 전체를 벗어난다. if문은 조건식의 결과가 참과 거짓, 두 가지 밖에 없기 때문에 경우... 자바자바의정석자바 객체지향 프로그래밍 II (Object - oriented Programming II) 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다. 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스 이름에서 패키지명은 생략할 수 있다. 클래스 이름을 지정해주는... 상속(ingeritance)오버라이딩(overriding)자바의정석제어자(modifier)다형성(Polymorphism)추상클래스(abstract class)Chaptor07package 와 import인터페이스(Interface)내부 클래스(inner class)Chaptor07
1.5 와일드 카드 ~ 1.8 지네릭 타입의 제거 그래서 오버로딩 개념이 아니라, 메서드 중복 정의가 되기 때문에 <> 사이에 T,E,K,V 이것은 다 같은 동작을 하고 네이밍은 관습 ex) E는 List, ArrayList 와 같은 컬렉션을 사용할때 사용한다. E 엘리먼트 ( List: 엘리먼트 목록) K 열쇠입니다 (에서 Map<K,V>) 하지만 '?'만으로는 Obj와 다를게 없으므로 extents와 super 사용 extends T>'... 자바의정석자바의정석 Chapter 12 지네릭스, 열거형, 애너테이션 / 1. 지네릭스(Generics) 클래스에 선언하는 지네릭 타입 지네릭이 도입되기 이전의 코드와 호환을 위해, 지네릭 클래스인데도 예전의 방식으로 객체를 생성하는 것이 허용 타입 변수 T에 Object타입을 지정하면, 타입을 지정하지 않은 것이 아니라 알고 적은 것이므로 경고는 발생하지 않는다. 지네릭스가 도입되기 이전의 코드와 호환성을 유지하기 위해서 지네릭스를 사용하지 않은 코드를 허용하는 것일 뿐, 앞으로 지네릭 클래스... 자바의정석자바의정석 #6 객체지향 (1) ex) 붕어빵 틀 : 클래스, 붕어빵 : 객체 인스턴스 변수의 경우 각 객체가 다른 값을 가질 수 있다. 인스턴스변수는 인스턴스가 생성되었을 때 생성되므로 인스턴스마다 각기 다른 값을 가질 수 있다. 클래스 변수(static 붙은 것)는 클래스가 메모리에 올라갈 때 생성되며 모둔 인스턴스가 하나의 저장공간을 공유하므로 항상 공통된 값을 가진다. 클래스 설계할 때 멤버변수 중 모든 인스턴스에 ... 자바의정석자바의정석 객체지향 프로그래밍 1 (1-3) 3. 신뢰성이 높은 프로그래밍을 가능하게 한다 : 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 위 Tv 클래스 는 Tv의 설계도 일뿐, 클래스의 인스턴스를 생성해야 Tv를 사용할 수 있다. 배열 : 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간 변수는 클래스 변수, 인스턴스... 자바의정석자바의정석 #5 배열 타입[] 변수이름 = new 타입[길이]; tmp를 써서 for문 돌리는 방법도 있지만 System.arraycopy()를 이용하자. System.arraycopy(num, 1, newNum, 0, num.length-1); => num[1]에서 newNum[0]으로 num.length-1개의 데이터를 복사한다는 의미 char charAt(int index) 문자열에서 해당 index에 있는... 자바의정석자바의정석 람다와 스트림 람다식은 간단히 말해서 메서드를 하나의 식으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 모든 메서드는 클래스에 포함되어야 하므로 클래스도 새로 만들어야 하고, 객체도 생성해야하만 비로소 이 메서드를 호출할 수 있다. 그러나 람다식은 이 과정을 람다식 자체만으로도 이 메서드의 역할을 대... 자바의정석자바의정석 [자바의정석]Java - 람다&스트림(2) #016 스트림의 연산 Stream< T > limit(long maxSize) : 스트림의 일부를 잘라낸다 Stream< T > skip(long n) : 스트림의 일부를 건너 뛴다 Stream< T > peek(Consumer< T > action): 스트림의 요소에 작업수행 Stream< T > sorted(),(Comparator< T > comparator): 스트림의 요소를 정렬 Strea... Java자바의정석Java 자바의 정석 Chapter 04 조건문과 반복문 조건문은 조건식 + 문장을 포함하는 블럭{}으로 구성되어 있다. 'else'의 뜻이 '그 밖에 다른' 이므로 조건식의 결과가 참이 아닐 때, else 블럭의 문장을 수행하라는 의미이다. 첫 번째 조건식부터 순서대로 평가해서 결과가 참인 조건식을 만나면, 해당 블럭{}만 수행하고 'if - else if'문 전체를 벗어난다. if문은 조건식의 결과가 참과 거짓, 두 가지 밖에 없기 때문에 경우... 자바자바의정석자바 객체지향 프로그래밍 II (Object - oriented Programming II) 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다. 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스 이름에서 패키지명은 생략할 수 있다. 클래스 이름을 지정해주는... 상속(ingeritance)오버라이딩(overriding)자바의정석제어자(modifier)다형성(Polymorphism)추상클래스(abstract class)Chaptor07package 와 import인터페이스(Interface)내부 클래스(inner class)Chaptor07