[Java] 정적 멤버와 static
·
Java
개발하거나 알고리즘 문제 풀면서 객체를 생성하지 않고 변수나 메소드를 바로 사용하고 싶을때 static 키워드를 붙여서 사용하곤 했는데 정확한 이해없이 사용하고 있는 것 같아서 책보면서 정리해보려고 합니다. static은 정적인, 고정된 이라는 뜻을 가지고 있다. 그렇기 때문에 static 변수나 메소드를 정적 변수, 정적 메소드라고도 부른다. 또한 정적 변수와 정적 메소드를 포함하는 정적 멤버의 경우 객체에 소속된 멤버가 아니라 클래스에 소속된 멤버이기 때문에 클래스 멤버라고 부른다. 정적 멤버 선언 정적 멤버 선언은 아래와 같이 static 키워드를 붙여서 선언할 수 있다. public class 클래스명 { // 정적 변수 public static 타입 변수명 [= 초기값]; // 정적 메소드 pu..
[Java] 이것이 자바다 - IO 패키지
·
Java
IO 패키지란?프로그램에서는 데이터를 외부에서 읽고 다시 외부로 출력하는 작업이 빈번히 일어나는데 자바의 기본적인 데이터 입출력 API는 java.io 패키지에서 제공하고 있다. 이때 프로그램이 출발지냐 또는 도착지냐에 따라서 입출력 스트림의 종류가 결정되는데 프로그램이 데이터를 입력받을 때는 입력 스트림이라고 부르고 프로그램이 데이터를 보낼 때에는 출력 스트림이라고 부른다. java.io 패키지에서 제공하는 스트림의 종류는 크게 두 가지로 구분된다. 하나는 바이트 기반 스트림이고 다른하나는 문자 기반 스트림이다. 바이트 기반 스트림은 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 주고 받을 수 있으나 문자 기반 스트림은 오로지 문자만 주고 받을 수 있다. 바이트 기반 스트림과 문자 기반 스트림은 최..
[Java] 이것이 자바다 - 멀티 프로세스, 멀티 스레드
·
Java
운영체제운영체제란 하드웨어와 소프트웨어를 관리하는 일꾼으로 아래와 같은 역할을 한다.CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리I/O 디바이스 관리 : 마우스, 키보드 같은 I/O 디바이스들과 컴퓨터 간에 데이터를 주고받는 것을 관리 멀티 프로세스란?사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는데 운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스라고 부른다. 멀티 프로세스는 애플리케이션 단위의 멀티 태스킹을 의미한다...