728x90

분류 전체보기 293

[Java] 컬렉션 프레임윅(Collections Framework) - ArrayList

ArrayList 의 특징 ArrayLists는 Collection 프레임워크의 일부로써 표준 배열보다는 느리지만 배열을 여러번 수행할 때 편리하다. List 인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다. ArrayLists는 Object배열을 이용해서 데이터를 순차적으로 저장한다. ArrayLists는 배열의 용량을 초과하면 자동으로 부족한 크기만큼 용량을 늘려준다. 주로 를 많이 사용하고 String, Character 타입으로도 선언 할 수 있다. 예제 1) ackage Java13; import java.util.ArrayList; import java.util.Iterator; public class Test07 { public static void main(Stri..

[Java] 컬렉션 프레임윅(Collections Framework) - Set

Set Set은 java.util 패키지에 존재하는 인터페이스로써 특정 코드에서 중복된 값의 허용이 있어서는 안 될 때 사용한다. 즉, Set을 사용하면 복잡한 코드구성 없이 중복된 요소들을 쉽게 제거할 수 있다는 장점이 있다. 여기서는 가장 많이 사용되는 HashSet(정렬이 안 되고)과 TreeSet(오름차순 정렬 됨)을 알아본다. package Java13; import java.util.HashSet; import java.util.TreeSet; public class Test03 { public static void main(String[] args) { HashSet hs = new HashSet(); // Wrapper 구문 while (true) { int v = (int) (Math.r..

[Java] 컬렉션 프레임윅(Collections Framework) - Map

Map Map은 키(key)와 값(value)을 묶어서 하나의 데이터로 저장한다는 특징을 갖는다. 키를 통해 값을 검색하므로, 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 발휘한다. 가장 많이 쓰이는 것이 HashMap이다. 키는 불변이고 값은 중복될 수 있다. JSON format, Hadoop, BigData, .... Map은 길이를 ~.length를 사용하지 않고 ~.size를 사용한다. package Java13; import java.util.HashMap; import java.util.Scanner; public class Test05 { public static void main(String[] args) { // TODO Auto-generated method stub HashM..

[Java] Thread 종류와 Thread 동기화 하는방법

Thread (스레드) 란? Thread는 독립적인 프로세스 실행 단위이다. Thread는 우리가 한글 문서를 작성하면서 프린트로 인쇄를 동시에 할 수 있는 것이나 인터넷을 하면서 음악을 듣는 것처럼 한 번에 두 가지 이상의 프로세스를 실행 가능하게 해 준다. 하지만 실제로 동시에 두 개가 실행되는 것은 아니고, 운영체제 내부에서 CPU의 프로세스를 쪼개서 각각을 Time Slot에 넣고 번갈아 실행하는 것이다. 동시에 돌아가는 것처럼 보이도록 아주 빠르게 Thread가 실 행되는 것인데 사람은 느끼지 못할 뿐이다. Thread 종류 1. Single Thread - 하나의 프로세스에서 오직 하나의 스레드로만 실행하기 때문에 하나의 레지스터와 스택으로 표현이 가능하다. 더보기 package Java11;..

[Java] Try - Catch(예외처리)

# Try - Catch(예외처리) 자바에서 프로그램이 실행되는 도중에 예외(에러)가 발생하면 그 시점에서 프로그램이 강제로 종료된다. 원래는 프로그램을 디버깅(Debugging)해서 오류를 수정한 뒤 실행하는 것이 원칙이지만 때로는 예상할 수 있는 가벼운 오류(숫자를 0으로 나눔 : 불능, 0을 0으로 나눔 : 부정) 가 있거나, 예외가 발생했을 때도 프로그램이 종료되지 않고 그 이후의 프로세스를 진행시키는 것이 더 좋을 수도 있다. 일종의 FailSafe 기법이라고 한다. 예외 처리를 통해 프로그램의 비정상적인 종료를 줄이고 정상적으로 프로그램이 계속 진행될 수 있도록 할 수 있다. catch 구문 catch (Exception e) { e.printStackTrace( ), e.~ } ; 예제1) ..

[Java] 인터페이스(Interface), 내부클래스의 종류, 접근제한자

인터페이스(Interface)란? 인터페이스는 앞에서 배운 ' 추상 클래스 ' 와 매우 유사하지만, 서비스 요청에 따른 중계자 역할을 하는 것과 같다. 고객이 호출할 수 있는 서비스의 목록이라고 할 수 있다.(내용을 감춰서 고객은 외부적으로만 접근할 수 있는 구조) 서버에서 DB, FTP, Web과 같은 여러 서비스를 실행하고 있는데 클라이언트가 DB와 FTP, Web 중 Web 서비스를 요청하면 웹 서비스가 제공되어야 하고, DB 서비스를 요청하면 데이터 베이스 서비스가 실행되어야 한다. 서버는 외부에 자신이 서비스하고 있는 모든 항목을 보여야 하고, 서비스 항목에 있는 모든 서비스가 실제로 실행될 수 있어야 한다. 인터페이스는 클라이언트가 서비스를 요청할 수 있는 서비스 목록으로 볼 수 있다. 서버는..

[Java] 추상 메서드(abstract method)

추상 메서드(abstract method) 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메서드를 의미 자바에서 추상 메소드를 선언하여 사용하는 목적은 추상 메서드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메서드를 구현하도록 하기 위함이다. 예를 들면 모듈처럼 중복되는 부분이나 공통적인 부분은 미리 다 만들어진 것을 사용하고, 이를 받아 사용하는 쪽에서는 자신에게 필요한 부분만을 재정의하여 사용함으로써 생산성이 향상되고 배포 등이 용이하다. 이러한 추상 메소드는 선언 부만이 존재하며, 구현부는 작성되어 있지 않다. 바로 이 작성되어 있지 않은 구현부를 자식 클래스에서 오버라이딩하여 사용하는 것!!! 추상 메소드(abstract method)의 구성 [접근제한] abstract [반환..

[Java] 제네릭(Generic) 사용법

제네릭 클래스 제네릭 프로그래밍이란 일반적인 코드를 작성하고 이 코드를 다양한 타입의 객체에 대하여 재사용하는 객체지향 (OOP)기법이다. 원하는 타입의 객체만 받아들이기 위한 방법으로 볼 수 있다. 결국 하나의 메소드에서 여러 가지 타입을 한 번에 다 지원 하는 클래스가 제네릭 클래스라 할 수 있다. 예를 들어 클래스 하나 만들고, 내부 메서드에서 INT 만 아니라 원하는 자료형(객체) 타입 String이나 char 등을 다양하게 지원하고 싶을 때 사용한다고 볼 수 있다. 제네릭을 사용하는 이유 제네릭 타입을 사용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있다. 자바 컴파일러는 코드에서 잘못 사용된 타입 때문에 발생하는 문제점을 제거하기 위해 제네릭 코드에 대해 강한 타입..

[Java] 접근제한자, 상속, 오버라이딩 예제 모음

오버라이딩, 오버로딩 참고 https://eun-s2.tistory.com/95 [Java] 가변인수, overloading, overriding 가변인수 메써드의 인자를 지정하지 않고 임의로 개수를 받아들이는 경우 class Test01 { int getMax(int x, int y) { //getMax( )에는 정수 x,y 두 개의 인자만 들어 올 수 있음 .......... } ex) class Test01 {.. eun-s2.tistory.com 기본 예제 모음 더보기 예제 1) package Java08; class Parent{ // 아래의 2개 멤버 변수를 정의 private int money = 200; private String str = "서울"; // 아래의 4개 멤버 메써드를 정의 ..

728x90