본문 바로가기

전체 글533

[운영체제] 컴퓨터 시스템 구성요소 운영체제 국내도서 저자 : 구현회 출판 : 한빛아카데미 2013.07.30 상세보기 컴퓨터 시스템 하드웨어 (Hardware) : 데이터를 처리하는 물리적 기계 장치 소프트웨어 (Software) : 특별한 작업을 지시하기 위해 명령어로 작성한 프로그램 운영체제 : 하드웨어 - 사용자 사이의 인터페이스를 담당하며 하드웨어와 소프트웨어 자원을 관리하는 프로그램 하드웨어 1. 프로세서 (Processor) 컴퓨터 각 부분의 동작을 제어하고 연산을 수행한다. 레지스터 (Register), 산술 논리 연산장치 (ALU), 제어장치 등으로 구성됨 2. 버스 (Bus) 프로세서를 비롯한 각 장치를 서로 연결하여 데이터를 주고받을 수 있게 해주는 통로 위치에 따라 내부 버스, 외부 버스로 구분 3. 레지스터 (Reg.. 2020. 9. 20.
[코틀린] Companion Object, object 선언 Companion Object 코틀린에서는 static 키워드를 사용할 수 없는 대신, 정적 변수를 선언할 수 있도록 Companion Object를 제공한다. companion object { 정적으로 선언할 변수, 함수들 } class P{ companion object{ var age : Int = 10 //정적 변수 fun printAge() //정적 함수 { println(age) } } } fun main() { P.printAge() } object와 싱글톤 object로 선언된 객체는 프로퍼티, 메서드에 객체 생성 없이 접근이 가능하다. 단일 인스턴스를 생성하기 때문에 싱글톤 패턴을 구현하는데 사용된다. 주 생성자, 부 생성자를 사용할 수 없다. (대신 init은 사용가능) object P.. 2020. 9. 19.
[코틀린] 위임 (Delegation) 위임 (Delegation) 실세계에서의 위임은 특정 일을 대신하는 중간자 역할 by를 사용하여 특정 클래스를 확장하거나 이용할 수 있다. 하나의 클래스가 다른 클래스에 위임하도록 선언 → 위임된 클래스가 가지는 멤버를 참조없이 호출 가능 프로퍼티 위임 : 프로퍼티의 getter, setter를 특정 객체에게 위임하고 그 객체가 값을 읽거나 쓸 때 수행하도록 함 var | val | class 프로퍼티, 클래스 이름 : 자료형 by 위임자 interface P1{ fun talk(){ println("P1 talk") } } class P2 : P1{ } val p1 = P2() class P3 : P1 by p1{ } fun main() { var p3 = P3() p3.talk() } 위임의 목적 코.. 2020. 9. 19.
[코틀린] 프로퍼티의 오버라이딩 프로퍼티의 오버라이딩 코틀린에서는 프로퍼티도 오버라이딩이 가능함 부모 클래스의 프로퍼티에 open 키워드를 붙이면 상속 가능한 프로퍼티가 된다. (기본적으론 final 변수임) 자식 클래스에선 override 키워드를 프로퍼티 앞에 붙여서 오버라이딩 가능 open class Parent (open var name : String, var age : Int){ init { println("초기화 블록 : $name, $age") } class Child : Parent("Park",30) { override var name: String = "Kim" } } 2020. 9. 19.