Thread의 개념 [멀티 태스킹] OS에서 여러개의 프로세스가 실행되고 일을 처리하는것. [스레드] 프로세스 내에서 실행되는 각각 일을 하고있는 작은 프로세스 단위를 스레드라고 한다. 프로세스가 끝나도 스레드가 수행을 끝낼때까지는 스레드는 끝나지 않는다.(독립적) 멀티 스레드 두개 이상의 스레드를 사용하고 있는것. (병행적으로 처리) 스레드의 생명주기 New - 스레드가 만들어진 상태. (start()를 하는순간 runnable로 감( run()으로 직접호출 X) Runnable - 스레드 객체가 생성된 후에 start()메서드를 호출하면 Runnable 상태로 이동(스케줄러가 호출 할 수 있는 대기실) running - 멀티스레드를 사용할때 동시에 일을 시작하지않고 스케쥴러에 의해 먼저 호출된 스레드..
1.추상클래스란? 구체화를 시키지 못한 클래스 ( 추상 메소드를 갖고 있는 클래스) 객체를 생성할 수 있는 클래스는 실체클래스이다. 실체클래스들이 공유할 수 있는 특성을 가진 변수,메소드를 가지고 있는 것을 추상 클래스 라고하고, 추상클래스와 실체 클래스는 상속관계이다. 추상 클래스는 객체를 만들 수 없고 구체화를 시켜야지 사용 가능하다. 오직 상속을 위해서만 사용하는 클래스이다. 추상 메소드란? 구체화가 되지 못한 메소드고 가장 큰 특징은 강제성을 부여한다. 어떤 강제성이냐면 자식클래스 하나이상이 무조건 부모의 메소드를 오버라이딩을 해야한다. 부모가 정의 할 수 없기 때문에 만드는 메소드 ( 자식이 어떻게 사용 할 지 모르기 때문에) 이름만 정의해준다. 단 여러가지 기능중 여러클래스들이 같은 기능을 사..
List란? list는 배열의 한계 때문에 만들어진 자료형이다. List자료형에는 ArrayList,LinkedList등의 List인터페이스를 구현한 자료형이 있다. 배열은 사용할때 index크기를 정해야 하는데 list는 메모리가 허용하는 한 계속 추가할 수 있도록 만든 자료형 클래스이다. import java.util.List 는 인터페이스 클래스고 List를 사용하기 위해서는 인스턴스화를 해야한다. List는 인터페이스이고 ArrayList는 List에 상속된 클래스이다. ArrayList ArrayList는 내부적으로 데이터를 배열에서 관리하며 데이터의 추가,삭제를 위해 임시 배열을 생성해 데이터를 복사하는 방법을 사용한다.각 데이터는 인덱스를 갖고 있기 때문에 한번에 참조가 가능해서 검색할때 좋..
ArrayList 란?(ArrayList기본) 1. 객체들의 삽입,삭제,검색을 할 수 있는 컨테이너 클래스다. 2. 배열의 index길이의 제한성을 극복할 수 있다. 3. 객체의 수가 많아지면 자동으로 크기 조절이 가능하다. 4. 값을 맨 뒤나 중간에 추가 할 수 있다(한칸씩 뒤로 밀림). 5. 객체 삭제시 위치를 한칸씩 땡긴다. ArrayList 기본 생성법 //Array String[] arr = new String[3]; // 기존 배열 선언 방식 arr[0] = "one"; //기존 배열은 선언할때 입력한 index길이를 초과하게 되면 오류가 발생한다 arr[1] = "two"; arr[2] = "three"; //ArrayList ArrayList al = new ArrayList(); al.a..
1. HasA ( ~ 가 ~를 가지고 있다.) //포함관계 ■ 특정객체 내에서 다른 객체를 갖고 와서 사용하는 클래스 (Data Management Class) ■ 큰 클래스가 작은 클래스를 갖다 쓰는 느낌.( 사람이 펜을 가져다 쓴다 O 펜이 사람을 가져다 쓴다X) ■ 다이렉트로 접근이 안되기 때문에 메소드를 통해 접근을 해야한다. 1. Data Management Class(큰거) - Data Class를 필요에 의해서 가져다가 사용하는 클래스 2. Data Class(작은거) - 독립적으로 존재하고 어디든 필요한 곳에서 쓸 수 있게 제공되는 클래스 2. IsA ( ~ 는 ~다.) //상속관계 ■ 특정 객체가 다른 객체에게 자신의 능력을 포함시켜주는 상속 관계를 의미한다. ■ 자바에서는 보통 부모클래..
1. 배열이란? 동일한 데이터타입(int,char등)을 정해진 수만큼 순차적으로 확보해준다. 하지만 배열을 사용하면 처음부터 순차적으로 메모리가 할당된다. 예를 들어 int =a, b; 배열을 사용하지 않고 변수를 선언하면 메모리에 할당되는 주소가 불규칙하다. 아래 그림보면서 설명 기본 변수 위 그림을 보면 Memory속에 int a와 b가 떨어져 있는데 실제 참조하는 메모리 주소가 순차적으로 할당되지 않고 불규칙하게 할당된다. 배열(Array)을 사용했을 때 객체의 메모리 주소가 순차적으로 할당되는 것을 볼 수 있다. int의 크기는 4byte니까 만약 int a [0]의 할당된 주소가 100번지라면 int b [0]에 할당된 주소는 104번지이다. 2. 배열의 장/단점 장점 - 많은 데이터를 손쉽게 ..
1.함수(Method)란? 1. 메소드란 입력값이 있고 자기만의 고유 기능을 가지고 기능을 수행하는 개념이다. 2. 입력값을 매개변수, 결과값을 리턴값이라고 한다. 3. 함수는 함수가 호출하고, 메인함수는 OS가 호출한다. 4. 함수의 이름은 누구나 직관적으로 어떤 기능을 갖고있는지 알 수 있게 정하는것이 규칙이다. 2.함수(Method)의 종류 1.표준함수 - 프로그램에서 선언없이 사용할 수 있는 함수. 2.사용자정의함수 1)instance method 1. 객체가 메모리에 올라가잇는 상태에서 쓰는 메소드 2. 객체당 사용되는 메소드 3. this를 가지고 있다. 상상 첫번째 매개변수로 존재하고있다. 4. 객체를 꼭 만들어야 사용할 수 있다. 2)static method 1. 메모리 객체 상관유무 없이..
학습내용 [1]연산자 연산자란 계산을 위해 사용하는 기호 연산자의 종류 및 설명 종류 설명 연산자 우선순위 증감연산자 +1이나 -1 ++,-- 1 산술연산자 사칙연산의 기본이되는 연산자 +,-,*,/,% 2 시프트연산자 변수나 수의 비트를 이동시키는 연산자 는 > 3 비교연산자 피연산자의 관계를 비교해 참과 거짓을 가리는 연산자 같음 : == 다름 : != ==,!= 4 비트연산자 &,^,| 5 논리연산자 참,거짓 반환 &&,||,! 6 조건연산자 조건식에 따라 A or B 선택 ?: 7 대입연산자 변수에 값을 대입 = 8 [2]제어문 제어문의 종류에는 조건문과 반복문이있다. (1)조건문 조건문의 종류에는 if문과 switch문이 있다. ■ 조건문 if if문은 조건식이 참이면 값을 산출하고 거짓이면 실..