본문 바로가기

분류 전체보기21

HashCode HashCode란 해시 함수의 값 / 해시 함수를 통해 객체비교를 하기위한 값입니다. hashCode()가 필요한 이유는 객체 비교를 하는 시간 때문 ! 만약 equals()로 Integer가 아닌 객체를 비교 할 경우 생가보다 많은 시간이 걸립니다 .게다가 객체의 수가 많아질 경우 더욱 많은 시간을 쓰게 됩니다. 이때 hashcode()는 정수로 이뤄져있어 객체를 비교할 때에도 정수로 비교가 가능합니다 . String Str1 = "hello"; String Str 2= "hello"; String Str3 = new String("hello"); Str1과 2는 같은 해시값을 가지지만 Str3은 다른 Hash값을 가집니다. 이유는 1과 2는 같은 오브젝트를 가리키기 떄문이고 3은 다른 객체를 가리키기.. 2023. 3. 23.
기본 체제 프로그램: 컴퓨터가 실행 할수있는 명령어들의 집합 프로세스: 실행중인 프로그램 / 독립된 메모리 공간 cpu : 명령어들을 실행 메모리: 프로세스가 cpu에서 실행되기 위해 기다리는 대기공간 IO(input/output): 파일 읽고 쓰기 네트워크 어딘가와의 데이터를 주고받음 키보드 ,마우스등 입출력 장치와 데이터를 주고 받음 단일 프로세스 시스템 보다 시피 프로세스를 단일로 처리하여 cpu 활용도 매우 낮음 멀티 프로그래밍 그래서 대안으로 나온 멀티 프로그래밍 p1 프로세스 입출력시간동안 cpu활용을 위해 p2 프로세스를 진행 그러나 여기서 문제는 p1 진행 시간이 길어지면 p2의 대기시간 또한 길어짐 그래서 대안으로 나온 멀티 테스킹 멀티 테스킹 p1 프로세스와 p2 프로세스를 잘게 쪼개 순간 순간 .. 2023. 3. 16.
Array/List / Set Array 와 List의 차이 Array = 연속적인 메모리에서 같은 종류의 아이템을 가지는 자료구조(Data structure) List = 순서를 가진 추가,삭제 ,탐색을 가진 ADT(Abstract Data type) 여기서 ADT / DS 란 ADT (추상) -> 자바로 치면 interface => 혼자선 무언가를 할수 없음 즉> 구현체 x 상황 DS -> ADT + 구현 즉 > 구현체 o 즉 List는 아직 구현이 되지 않은 인터페이스 , array는 구현체(클래스) 라고 보면 될것같다. List VS Set List 는 중복 허용 o , 순서를 보장 O Set 은 중복 허용 X . 순서를 보장 X List 의 종류 (추가(add), 검색(contain, get, size), 삭제(remove,.. 2023. 3. 16.
Generic 사용 이유 Generic : 타입을 강하게(구체적) 정의 ex) List list = new ArrayList(); 위처럼 제너릭으로 타입을 지정해주면 list 안에는 String 타입으로만 값을 지정할수 있다 이처럼 제너릭을 사용 하는 이유는 1.오류를 사전에 체크할 수 있다. 2. ex) List list = new ArrayList(); --> list.add("hello"); --> "hello" 는 String 타입이지만 저장 될 경우 object타입으로 저장 됨 String str = (String) list.get(0); 가져올경우 이런식으로 가져와야 하는데 이런식으로 타입변환이 많아지면 부담이 커짐 그래서 Generic으로 타입을 지정해주면 List list = new ArrayList(); list.. 2023. 3. 16.