목록개발 (25)
개발자는 기록이 답이다

혼공족 50% 완주 축하 기념 맛있는 간식 잘먹었습니다~ 이번주 양이 많아서 좀 급하게 달렸는데, 마지막 남은 2주동안 잘 마무리해서 완주혼공족되서 다음엔 혼공SQL책으로 도전해보고 싶습니다! Chater9. 운영체제 시작하기 2024.01.28 - [CS/운영체제] - 혼공 컴퓨터구조 + 운영체제 9. 운영체제 시작하기 혼공 컴퓨터구조 + 운영체제 9. 운영체제 시작하기 1. 운영체제를 알아야 하는 이유 운영체제란 모든 프로그램은 하드웨어를 필요로 한다. 1 + 2를 계산하는 프로그램은 CPU를 필요로 하고, 이미지를 하드 디스크에 저장하는 프로그램은 하드 디스 strong-park.tistory.com Chater10. 프로세스와 스레드 2024.01.28 - [CS/운영체제] - 혼공 컴퓨터구조 +..

Reflection을 통한 메타데이터 접근 어노테이션은 아무런 동작을 가지지 않은 설정 정보일 뿐이다. 이 설정 정보를 이용해서 어떻게 처리할 것인지는 애플리케이션의 몫인데, 리플렉션을 이용해서 적용 대상으로부터 어노테이션의 정보를 얻을 수 있다. 런타임 시 동적으로 프로그램(클래스의 정보)을 분석하거나 변경해야 할때 발생한다. 메타데이터에는 소스 코드에 대한 정보나 추가적인 설정 정보가 포함되어 있을 수 있으며, 프로그램이 실행되는 동안 동적으로 이용하고자 할때 리플랙션을 사용한다. 클래스에 적용된 어노테이션 정보를 읽을땐 java.lang.Class를 이용하면 되지만, 필드, 메소드, 생성자와 같은 메타 정보는 java.lang.reflect패키지를 사용해야 한다. 관련 메소드는 여기에서 확인 할 수..

Exception과 Error의 차이점 Exception과 Error는 모두 자바에서 예외 처리 관련된 클래스들을 나타낸다. 그러나 두 개의 주요 차이점이 있다. 특성 Exception(예외) Error(에러) 발생 원인 주로 프로그램 외부 요인으로 발생 주로 가상머신 같은 시스템 레벨에서 발생 메인보드 고장, 디스크 고장 등 처리 여부 개발자가 명시적으로 처리 가능 주로 프로그램이 직접 처리하지 않음 예시 NullPointException, IOException OutOfMemoryError, StackOverflowError, NoClassDefFoundError 처리 방법 try-catch 블록을 사용하여 예외 처리 일반적으로 프로그램이 직접 처리하지 않음 예외 처리 가능 여부 일반적으로 예외 처리..

static 키워드는 클래스의 멤버(변수 또는 메서드)에 적용되며, 해당 멤버가 클래스 자체에 속하도록 지정한다. static 멤버는 클래스의 인스턴스와 관련이 없이 클래스 자체에 속하므로, 여러 인스턴스 간에 데이터를 공유하고 특정 작업을 수행하는 데 사용된다. static키워드를 사용하는 이유? 주로 메모리 효율성과 프로그램 구조의 편의성을 높이기 위해서이다. 먼저, static 멤버는 클래스 수준에 속하므로 프로그램이 시작될 때 메모리에 할당되어 종료될 때까지 유지된다. 이로써 여러 인스턴스에서 동일한 값을 공유하거나 전역 상태를 유지할 때 메모리를 효율적으로 사용할 수 있다. 또한, static 멤버는 객체의 생성 없이 직접 클래스 이름으로 접근할 수 있어서, 클래스 수준에서 독립적인 기능을 구현..