본문 바로가기

전체 글67

1. 운영체제란 & 컴퓨터시스템 구조(1) * OS 게시물 1,2는 운영체제를 다루기 앞서 컴퓨터시스템 구조의 전반적인 흐름을 적어놓은 내용이다. 운영체제란? - 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 - 좁은의미로 이야기하는 운영체제를 커널이라고 한다. - 컴퓨터 부팅 이후로 메모리에 상주하는 부분 - 넓은의미로 이야기하는 운영체제는 커널을 포함한 각종 주변 시스템 유틸리티를 포함한 개념이다. - 예를들어 windows: 복사하는 소프트웨어라는 유틸리티를 포함. 운영체제의 목적 1. 사용자 or 프로그램들이 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공한다. 운영체제는 동시 사용자 or 프로그램들이 독자적 컴퓨터를 수행하는 것 같은 illusion을 제공한다. 하드웨어를 .. 2022. 11. 2.
18. 캡슐화 캡슐화는 크게 아래 두 가지 이유로 필수적이다. 외부로부터 데이터에 직접접근할 수 없도록 보호한다. 외부에는 불필요하고 내부적으로만 사용되는 부분을 감추기 위해서이다. 아래 코드를 통해서 살펴보자. public class Time { // private을 사용하여 외부로부터 멤버변수에 직접 접근을 제한한다. private int hour; private int minute; private int second; // 메서드를 활용하여 제어문을 통해서 멤버변수에 접근하도록 허용한다. public void setHour(int hour) { if(isNotVaildHour(hour)) return; this.hour = hour; } // private을 통하여 내부에서만 사용하는 부분을 감춘다. privat.. 2022. 10. 3.
17. 제어자 제어자는 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미를 부여해준다. 접근 제어자 : public, protected, (default), private 그 외 : static, final, abstract, native, transient, ... 접근 제어자를 가장 왼쪽에 입력한다. 하나의 대상에 여러 제어자를 같이 사용 가능하다. static 제어자 static 멤버 변수 - 모든 인스턴스에 공통적으로 사용(공유)되는 클래스변수 - 클래스 변수는 인스턴스를 생성하지 않고, 클래스가 메모리에 올라가면 사용 생성. 메서드 - 인스턴스를 생성하지 않고, 호출이 가능한 static 메서드가 됨. - static 메서드 내에서는 인스턴스 멤버들을 사용 불가함. class StaticTest {.. 2022. 10. 3.
16. super()와 super super()와 super 조상의 생성자 super()와 참조변수 super는 this()/this 와 같이 완전히 다른 것이다. 조상의 생성자 super() 조상의 생성자를 호출할 때 사용한다. 조상의 멤버는 조상의 생성자를 호출해서 초기화한다. 생성자의 첫 줄에 반드시 생성자를 호출해야 한다. (호출하지 않으면 컴파일러가 자동으로 첫 줄에 super(); 삽입) 아래 코드를 통해 위 3가지 조건을 정리해보자. MyPoint3D라는 클래스는 Point2에서 멤버 x, y를 상속받음. MyPoint3D클래스에는 겹치는 멤버가 없기 때문에 this를 이용해서 접근하면 부모의 x, y에 접근하게 됨. MyPoint3D클래스의 생성자에서 this를 통해 초기화를 해주는데, 만약 첫번째 빨간 박스가 없다면, P.. 2022. 10. 2.