본문 바로가기

JAVA13

[JAVA] 멀티 스레드(multi Thread) - 1 프로세스와 스레드 - 프로그램 : 실행 가능한 파일 - 프로세스 : 실행 중인 프로그램(메모리) - 스레드 : 프로세스 내에서 실제 작업을 수행하는 주체 모든 프로세스에는 하나 이상의 스레드가 존재함 - 멀티 스레드 : 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미함 멀티 프로세스와 멀티 스레드의 차이점 - 멀티 프로세스 : 각 프로세스가 독립적인 메모리를 가지고 별도로 실행됨 - 멀티 스레드 : 각 스레드가 자신이 속한 프로세스의 메모리를 공유함 멀티 스레드의 장점 - 자원을 보다 효율적으로 사용할 수 있다. ( => 시스템 자원의 낭비가 적음) - 사용자에 대한 응답성이 향상된다. - 작업이 분리되어 코드가 간결해진다. 멀티 스레드의 단점 - 동기화에 주의해야 한다. -.. 2021. 7. 29.
[JAVA] enum(열거형) enum(열거형) - 서로 관련있는 상수들의 집합을 나타냄 - 클래스처럼 보이게 하는 상수 - 열거형은 클래스처럼 독립된 java 파일에 만들 수 있고, 하나의 java 파일에 다른 클래스와 함께 만들 수 있고, 클래스 안에 내부 클래스처럼 만들 수 있음. 열거형의 속성 및 메소드 1. name() → 열거형 상수의 이름을 문자열로 반환한다. 2. ordinal() → 열거형 상수가 정의된 순서(index값)를 반환한다. 3. valueOf("열거형 상수명") → 지정된 열거형에서 '열거형 상수명'과 일치하는 열거형 상수를 반환한다. 4. 열거형이름.상수명 → valueOf("상수명") 메소드와 같다. 열거형 선언하기 방법1. enum 열거형이름 { 상수명1, 상수명2, .. } 방법2. enum 열거형.. 2021. 7. 29.
[JAVA] 컬렉션 프레임워크 - Map Map - key값, value값을 한 쌍으로 관리하는 객체 - key값은 중복을 허용하지 않고, 순서가 없다. (Set의 특징을 갖는다.) - value값은 중복을 허용한다. 자료 추가하기 - key값이 순서가 없기 때문에 자료를 저장한 순서와 다르게 출력됨 자료 수정하기 - 데이터를 추가할 때 key 값이 같으면 나중에 추가한 값이 저장된다. 자료 삭제하기 - key값이 같은 자료를 찾아서 삭제한다. - 반환값 : 삭제된 자료의 value값 자료 읽기 - key값과 함께 저장된 value값을 반환한다. - 해당 key값이 없으면 null 반환한다. key값의 존재 유무 확인하기 - containsKey(key값) 메소드를 이용한다. - 지정한 key값이 있으면 true, 없으면 false를 리턴한다... 2021. 7. 27.
[JAVA] equals() 메소드 , hashCode() 메소드 모든 클래스는 Object 클래스를 상속받기 때문에 equals, hashCode, toString 메소드를 작성하지 않아도 사용할 수 있다. equals() 메소드 - Object 클래스의 equals() 메소드는 비교 연산자인 ==과 동일한 결과를 리턴한다. 두 객체가 동일한 객체이면 true를 리턴하고, 그렇지 않으면 false를 리턴한다. - Person 클래스에서 equals() 메소드를 재정의 한다. main을 재실행하면 true를 리턴하는 것을 확인할 수 있다. - 현재 p1, p2에는 동일한 값이 저장되어 있다. Set은 데이터를 중복하여 저장하지 않으나 Set의 size()는 hashCode를 이용하기 때문에 Set의 크기로 2가 리턴되었다. hashCode() 메소드 - 두 개의 값이 .. 2021. 7. 27.