접근 제어자
접근 제어자 자바에서는 클래스를 정의하기 class 키워드를 사용하며, 외부 클래스가 해당 클래스에 접근하는 범위를 접근 제어자를 통해 제한할 수 있다. 접근 제어자는 public, protected, default, private 네 가지가 있다. 접근 제어자 클래스 내부 동일 패키지 ...
접근 제어자 자바에서는 클래스를 정의하기 class 키워드를 사용하며, 외부 클래스가 해당 클래스에 접근하는 범위를 접근 제어자를 통해 제한할 수 있다. 접근 제어자는 public, protected, default, private 네 가지가 있다. 접근 제어자 클래스 내부 동일 패키지 ...
오브젝트 최상위 클래스이며 기본적으로 아무런 상속을 받지 않았을 경우 java.lang.Object 클래스를 확장한다. 그 이유 중 하나는 Object 클래스에 있는 메소드들을 통해서 클래스의 기본적인 행동을 정의할 수 있기 때문이다. Object 클래스 api 문서 https://docs.oracle.com/en/java/javase/13/d...
상속 상속을 해주는 클래스(= 부모 클래스, superclass)가 가진 필드(클래스 레벨의 변수)와 메소드를 상속을 받는 클래스(=자식 클래스, subclass)에서 사용할 수 있게 한다. 새 클래스를 만들고자 할 때 원하는 코드의 일부를 포함하는 클래스가 이미 있는 경우 상속을 통해 기존 클래스에서 새 클래스를 파생할 수 있다. 즉 재사용이 가...
변수 데이터를 저장하기 위해 프로그램에 의해 할당받은 메모리 공간을 의미한다. 변수는 변수가 선언된 위치에 따라 세가지 종류로 나뉜다. 변수의 종류 선언 위치 생성 시기 (메모리 할당 시기) 클래스 변수 클래스 영역 클래스가 메모리에 올라...
데이터 타입(자료형) 프로그래밍을 할 때 쓰이는 숫자, 문자열 등의 자료 형태로 사용하는 그 모든 것을 뜻한다 Java의 데이터 타입은 크게 기본 자료형(Primitive type)과 참조 자료형(Reference type)으로 나뉜다. 기본 타입은 정수, 실수, 문자, 논리 리터럴을 저장하는 타입을 말한다. 참조 타입은 객체의 주소...
객체 객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신과 다른 것을 식별가능한 것을 뜻한다. 객체는 속성과 동작으로 구성되어 있다. 자바에서는 이러한 객체의 속성을 필드(field), 동작을 메소드(method)라고 한다. 객체를 생성하는 방법 자바에서 객체를 생성하는 방법은 다양하다. new 키...
스터디 Stacked-Book에서 실습과 그림으로 배우는 리눅스 구조 책을 참고하여 학습 후 정리한 글입니다. 주소 바인딩 프로그램이 실행을 위해 메모리에 적재되면 프로세스를 위한 독자적인 주소 공간이 생성된다. 이 주소를 논리적 주소(= 가상 주소) 라고 부른다. CPU는 프로세스마다 독립적으로 갖는 논리적 주소에 근거해...
스터디 Stacked-Book에서 실습과 그림으로 배우는 리눅스 구조 책을 참고하여 학습 후 정리한 글입니다. 작업 스케줄링은 준비 대기열로 가져와야 하는 프로세스를 선택하는 메커니즘 CPU 스케줄링은 다음에 실행할 프로세스를 선택하고 해당 프로세스에 CPU를 할당하는 메커니즘 CPU 스케줄링 다중 프로그래밍의 목적은 CPU 이용률을...
스터디 Stacked-Book에서 실습과 그림으로 배우는 리눅스 구조 책을 참고하여 학습 후 정리한 글입니다. 교착 상태 (DeadLock) 둘 이상의 프로세스나 스레드가 서로의 작업을 기다리면서 더 이상 진행하지 못하는 상태를 뜻한다. DeadLock의 발생 조건 DeadLock이 발생하려면 다음 네 가지 조건이 동시에 충족되어야 한...
스터디 Stacked-Book에서 실습과 그림으로 배우는 리눅스 구조 책을 참고하여 학습 후 정리한 글입니다. 임계 영역 (Critical Section) 다중 스레드 또는 다중 프로세스 환경에서 공유 자원에 접근하는 코드 영역 이 영역에서 여러 프로세스 또는 스레드가 동시에 접근하면 데이터 일관성 문제가 발생할 수 있으므로, 이를 효과적...