본문 바로가기

분류 전체보기60

쓰레드를 구현하기위한 인터페이스와 클래스 프로세스는 실행중인 프로그램이라고보면되고 이 프로세스는 데이터와 메모리등의 자원 그리고 쓰레드로 구성된다 쓰레드는 프로세스내에서 실제 작업이 진행되는 주체다 구현은 쓰레드클래스를 상속받거나 러너블 인터페이스를 구현하면된다 http://tcpschool.com/java/java_thread_concept 2020. 11. 20.
오버로딩 오버라이딩 오버로딩은 어제 이해한거처럼 메소드 오버로딩 생성자 오버로딩이있는데 메소드나 생성자가 이름은같고 전달받는 매개변수의 유무나 유형 갯수를 다르게해서 다양한유형의 호출에 응답하는것 오버라이딩 상속되는 클래스간에 같은이름의 메소드를 재정의해서 사용하는것 2020. 11. 20.
접근제어자 private default protected public 순서 private 해당 클래스 내에서만 접근가능 default 접근제어자를 지정안한경우 동일패키지 내부까지 접근가능 protected 해당클래스 동일패키지 외에 해당클래스를 상속받은 외부 패키지의 클래스에서도 접근이가능하다 public 전체 모든 클래스에서 접근이가능하다 2020. 11. 20.
TDD TDD는 테스트드리븐디벨롭 테스트주도개발이라는 소프트웨어 개발방법론중 하나다 이건 테스트코드를먼저 작성하고 개발한다는것인데 먼저 반드시 실패가 포함되는 테스트코드를 먼저 작성 하고 해당테스트코드를 통과할수있는 코드를구현한다 그리고 리팩토링단계를거친다 즉 테스트코드작성 - 구현코드작성 - 리팩토링 단계를 짧은주기로 반복하여 개발하는것이다 장점은 공감이 잘안간다 안해보기도했고 가장 공감가는건 개발하고있는 코드의 문제점이 잘보인다는것정도 2020. 11. 20.
정렬 선택정렬 이름대로 현재위치에 들어갈 값을선택하여 넣는다 2중포문으로 구현하여 배열전체에서 가장 작은값을찾아 현재 인댁스의 값과 바꿔준다 배열 크기를 한칸줄이고 해당 동작을반복 삽입정렬 현위치에서 이전 배열 값들을 비교해서 본인이 들어갈위치를 찾아 삽입한다 포와일문으로 구성하고 시작인덱스는 두번째꺼부터시작 그전 인덱스의 값과 비교하여 더작으면 스왑하고 인덱스를 마이너스해간다 버블정렬 연속된 두값을비교해서 정렬하고 그방식으로 배열 끝까지 진행하면 제일큰값이 맨뒤로가는방식 이중포문으로 한바퀴돌때마다 내부 포문의 다시 처음부터 끝배열 크기를하나줄여서 계속진행한다 2020. 11. 20.
자바 메모리영역 이건 전에gc를 공부할때 본거라 간단히 이해가되었다 크게 static stack heap 으로 구분된다 static 전역변수와 정적멤버변수가 static영역에 저장된다 해당영역의 데이터는 프로그램 시작부터 종료까지 메모리에남기때문에 어디서든 사용이 가능하지만 무분별하게 사용하면 메모리가 낭비되므로 필요한거만 사용하도록한다 stack 메소드 내에 선언하는 기본 자료형에 해당되는 지역변수가 저장되는공간으로 해당메소드가 호출되면 메모리를 할당하고 종료되면 해제된다 lifo구조를갖고 새 데이터가 할당되면 이전데이타는 지워진다 예를들어 for 문에 int i는 for 문 종료후 사용을 못하듯이 지역변수이므로 stack 에서 해제되었으므로 heap 참조형 데이터 타입을 갖는 객체나 배열은 heap 영역에 데이터가 .. 2020. 11. 19.