JAVA 관련 사이트
JAVA 기술 커리큘럼
'프로그래밍 > JAVA' 카테고리의 다른 글
자바 다운그레이드 (0) | 2018.08.26 |
---|---|
자바빈(DTO), DAO (0) | 2018.07.28 |
스트레티지 패턴 (0) | 2018.07.23 |
Java for-each 쉽게 이해하기 (0) | 2018.07.19 |
JAVA 싱글턴 패턴 (0) | 2018.07.19 |
JAVA 관련 사이트
JAVA 기술 커리큘럼
자바 다운그레이드 (0) | 2018.08.26 |
---|---|
자바빈(DTO), DAO (0) | 2018.07.28 |
스트레티지 패턴 (0) | 2018.07.23 |
Java for-each 쉽게 이해하기 (0) | 2018.07.19 |
JAVA 싱글턴 패턴 (0) | 2018.07.19 |
JAVA 자바 Map 컬렉션 HashMap, Hashtable (0) | 2018.07.13 |
---|---|
[JAVA 자바] Set - HashSet, TreeSet, LinkedHashSet (0) | 2018.07.12 |
[JAVA 자바] Collection-List- (ArrayList, Vector, LinkedList) (0) | 2018.07.12 |
자바 collection 자료구조 의미 / 종류 / 차이점 (0) | 2018.07.11 |
ava for-each에 대해서 쉽게 이해하기
for-each
: jdk 1.5 이후에 추가 된 문법이다. 따로 키워드가 있는 것은 아니다. 기존의 for문을 그대로 사용한다.
코드의 가독성이 좋아지고, 반복자나 변수를 사용하지 않아 오류 가능성을 없앤다.
아래가 for-each 방법이다.
for-each를 구현하기 위해선
Iterable 인터페이스를 implements 구현하면 된다.
성능 차이
for문 안에 size나 length를 알아내는 코드가 있다면 느리다.
계속해서 lenght, size를 알아내는 비용이 발생한다.
크기가 크면 클수록 for-each가 빠르다.
JIT컴파일러가 최적화를 하기 때문이다.
이렇게 좋은 for-each를 사용하지 못할 때가 있다.
1. 필터링(filtering) : 순회하는 도중 특정한 원소를 삭제해야할 경우
2. 변환(transforming) : 순회하는 도중 원소의 값을 수정해야할 경우
3. 병렬순회(parallel iteration) : 병렬적으로 순회할 경우
JAVA 관련 사이트 기술 커리큘럼 (0) | 2018.07.25 |
---|---|
스트레티지 패턴 (0) | 2018.07.23 |
JAVA 싱글턴 패턴 (0) | 2018.07.19 |
자바 interface(인터페이스) (0) | 2018.07.18 |
JAVA 상속(Override) 재정의, super (0) | 2018.07.17 |
소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다.
싱글턴 패턴은 데이터타입을 자신의 클래스로 한다. 객체를 생성하지 못해서(객체 접근 안되도록 private로 막음) 객체를 생성하기 전 클래스 생성 단계(static)으로 자기 자신을 생성해서 리턴해 주어야한다. 즉 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나가 된다(하나의 객체를 전역적으로 공유해서 쓴다)
스트레티지 패턴 (0) | 2018.07.23 |
---|---|
Java for-each 쉽게 이해하기 (0) | 2018.07.19 |
자바 interface(인터페이스) (0) | 2018.07.18 |
JAVA 상속(Override) 재정의, super (0) | 2018.07.17 |
자바 Static 변수 (0) | 2018.07.16 |
자바 Interface 문법
0.인테페이스는 작업 명세서(작업 지시서) 라고 불린다.
1.인터페이스는 상수와 추상메소드만 존재 한다.
2.자바는 다중 상속(extends)는 불가하지만 인터페이스는 여러개의 클래스를 imprement(다중 구현) 가능하다.
3.인터페이스 안의 추상 메소드를 각각 재정의 해서 사용해야 한다.
객체 타입으로 인터페이스로 사용 할 수있다. ==> 배열의 타입으로 사용할 수 있다.
3개의 데이터타입을 하나로 묶어주는 Toy
PoohToyClass를 다양한 형식의 타입으로 나타낼 수 있다. (다형성)
인터페이스와 추상클래스의 공통점과 차이점
Java for-each 쉽게 이해하기 (0) | 2018.07.19 |
---|---|
JAVA 싱글턴 패턴 (0) | 2018.07.19 |
JAVA 상속(Override) 재정의, super (0) | 2018.07.17 |
자바 Static 변수 (0) | 2018.07.16 |
리펙토링(Refactoring)의 원칙과 정의 (0) | 2018.07.16 |
JAVA 상속
->재정의 하고자 하는 자식 클래스에서 메소드 위에 @Override 적어주면 된다.
->재정의한 자식 클래스에서 재정의 한 메소드에서 부모 클래스의 메소드를 사용하고 싶으면 super.메소드() 를 사용한다.
->MainClass 에서 클래스를 자식 클래스를 생성하는데 오른쪽에 ParentClass의 생성자 부터 작동하는 것을 볼 수 있다. 즉, 부모클래스가 먼저 생성되고 자식 클래스가 생성된다는 것이다.
JAVA 싱글턴 패턴 (0) | 2018.07.19 |
---|---|
자바 interface(인터페이스) (0) | 2018.07.18 |
자바 Static 변수 (0) | 2018.07.16 |
리펙토링(Refactoring)의 원칙과 정의 (0) | 2018.07.16 |
[JAVA 자바] 백준 1152번 단어의 개수 (1) | 2018.07.08 |
static 변수는 팀원들과의 '공유'라고 생각할 수 있다.
static은 클래수 변수이기 때문에 변수를 static으로 선언하면 다른 패키지에서 객체를 생성하지 않고도 바로 변수에 접근 할 수 있다.
MONEY 를 static 변수로 선언한다.
import를 위와 같이 해주고 바로 MONEY 변수에 접근한다.
이제 메인 클래스에서 FirstChild 클래스에 있는 메소드를 불러와 사용한다.
static 의 장점과 단점
자바 interface(인터페이스) (0) | 2018.07.18 |
---|---|
JAVA 상속(Override) 재정의, super (0) | 2018.07.17 |
리펙토링(Refactoring)의 원칙과 정의 (0) | 2018.07.16 |
[JAVA 자바] 백준 1152번 단어의 개수 (1) | 2018.07.08 |
자바 소수점 자리 표현 하는 법 (0) | 2018.07.05 |