목록공부공부/Java (16)
이숭간 공부기록
@RequiredArgsConstructor 초기화되지 않은 final필드나, @NonNull이 붙은 필드에 대해 생성자를 생성해준다. 주로 의존성 주입 편의성을 위해 사용된다. 해당 어노테이션으로 의존성주입이 가능한이유는 다음과 같다. - 어떠한 빈에 생성자가 오직 하나만 있고 생성자의 파라미터 타입이 빈으로 등록가능한것이면 이 빈은 @Autowired없이도 의존성주입이 가능 즉, 생성자 안만들고 생성자주입이 가능하다!! @NoArgsConstructor 파라미터가 없는 기본생성자를 생성해준다. 사용시 주의점 1. 필드들이 final로 생성되어있는 경우에는 필드를 초기화할수 없기 때문에 생성자를 만들수 없고 에러가발생 (final키워드가 붙은 필드들은 선언과동시에 초기화하고 이후에 값을 수정할수 없으니..
두가지 방법이 있는데 java.lang.Thread를 직접 객체화해서 생성하거나 스레드 클래스를 상속해서 하위클래스를 만드는 방법이 있습니다. 첫번째의 경우 Runnable을 매개변수로 갖는 생성자를 호출해서 스레드 객체를 생성하는데, 이때 Runnable은 run이라는 함수를 정의하고있는 인터페이스입니다. Runnable구현 클래스에서 run함수안에 스레드가 실행할 코드를 작성하고 이 클래스로 객체를 생성하고 스레드클래스의 생성자에 매개변수로 전달합니다. 코드를 절약하기 위해서는 Runnabel 익명객체를 매개값으로 사용할 수 있습니다. 그후 start메소드를 호출해서 작업스레드를 실행합니다.
프로그램이 실행되면 프로세스의 형태로 메모리에 로드되고 이를 cpu가 실행함 프로그램의 구동을 위해서는 운영체제가 메모레 (RAM)에 공간을 할당하고 이 공간에 프로세스가 로드되어 프로그램이 실행됨 메모리공간은 크게 1. 스태틱영역 2. 스택영역 3. 힙 영역 으로 나뉘고 데이터 타입에 따라서 해당공간에 할당됨 // 먼저 잠깐 변수정리! 선언위치에 따른 분류 - 멤버변수 / 지역변수 멤버변수 : 클래스변수(인스턴수 변수앞에 static,) + 인스턴스변수( 필드내에 선언, 인스턴스 생성시 만들어짐 ) 지역변수 : 메소드 내에서 선언되는 변수 데이터 타입에따른 분류 - 기본형변수 / 참조변수 기본형변수 : 자료의 실제값을 저장 ( 8개 타입 ) 참조변수 : 값이 저장되어있는 주소값을 갖는다 ( string..
@유효범위 - 이름이 겹쳐서 생기는 문제를 해결하기위해 # 전역변수 ( global variance) = 멤버변수 = 필드 - 클래스소속, 정적할당, 클래스밑에 바로 선언되는 변수 -> 함수밖에서 선언되는 클래스 전체에서 사용가능한 변수. 필드에서 선언된 변수는 지역변수와 다르게 값을 할당하지 않아도 자동으로 초기값을 갖는다. 전역변수 선언 - [접근제어자(public, private 등)] [static, final 등] 자료형 변수명 [= 초기값] ; // 빨간색은 필수아님. #전역변수에 의존하는 메소드는 다른 곳에서의부품으로 사용될수 없다. 지역변수로 파라미터를 사용하는것을 권장 #지역변수 - 함수안에서 선언된 변수, 즉 변수가 선언된 그 함수 안에서만 유효한 변수가 됨, 함수의 인자로 선언한 변수..