본문 바로가기

전체 글115

[논리회로] 카운터(Counter) 카운터(Counter) 미리 정해진 상태천이 순서를 순환하면서 클럭 펄스의 수를 카운트하는 소자(장치)이다. 세는 방향에 따른 분류 상향 카운팅 혹은 하향 카운팅으로 나눌 수 있다 클럭을 가하는 형태에 따른 분류 동기식 카운터, 비동기식 카운터 3비트 Up/Down 카운터는 입력 값에 따라 up, down 하는 것을 말한다. 입력값이 0인 경우 up을 하고, 입력값 1인 경우 down을 한다. 2023. 5. 28.
[논리회로] 플립플롭(Flip-Flop) 플립플롭(Filp - Flop) 입력의 변화가 없으면 출력이 일정한 2진값을 유지하도록 동작되는 기억소자이다. 출력이 변화를 일으키는 시점에 따라 동기식, 비동기식으로 나뉜다. 비동기식 플립플롭 입력의 변화에 따라 출력을 변화시킬 수 있는 플립플롭(latch) 동기식 플립플롭 입력이 아무리 변해도 동기신호가 출력을 변화시킬 시점이 아니면 출력의 변화가 일어나지 않는 플립플롭 Rising-edge triggered SR Filp-Flop EN = 1일 때 기본 래치가 동작하며, EN = 0일 때 래치의 출력은 변화하지 않는다. Falling-edge triggered SR Filp-Flop Master-slave Filp-Flop 주종 플립플롭은 2개의 플립플롭과 1개의 인버터로 구성하며 시간 펄스가 상승.. 2023. 5. 28.
[논리회로] 래치(Latch) 래치(Latch) 래치는 순차회로에서 한 비트의 정보를 저장하는 회로이다. 인에이블(허용)이 되면 레벨을 감지하여 입력값을 출력으로 계속해서 전송한다. NOR형 SR래치 S는 Set, R은 Reset을 의미하며, 두 개의 입력에 따라 두 개의 출력을 가진다. S R Q Q' 0 0 q q 0 1 0 1 1 0 1 0 1 1 X X 여기서 q란 과거의 값을 의미한다. 즉, S와 R이 0이면 과거의 값이 보존된다. + 래치는 Enable에 의해 회로가 동작하는 반면, 플립플롭은 CLK에 의해 회로가 동작한다. NAND형 SR래치 NAND형 SR래치에서 주의해야 할 점은 입력으로 inverting된 값이 들어간다는 것이다. S R Q Q' 0 0 X X 0 1 1 0 1 0 0 1 1 1 q q SR latc.. 2023. 5. 28.
[C++] 템플릿(Template) 함수 템플릿 int Add(int num1, int num2){ return num1+num2; } 위 함수의 기능과 자료형은 다음과 같다. 함수의 기능 덧셈 대상 자료형 int형 데이터 이러한 함수를 만들어 낼 수 있는 템플릿(모형자)는 다음과 같이 정의한다. template T Add(T num1, T num2){ return num1+num2; } 이를 앞서 정의한 Add함수와 비교해 보면, int형 선언을 T로 대신했음을 알 수 있는데, 이는 자료형을 결정짓지 않은, 그래서 나중에 T를 대신해서 실제 자료형을 결정하겠다는 뜻이다. 함수의 기능 덧셈 대상 자료형 결정되어 있지 않음 위 코드에서 첫 번째 문장은 T라는 이름을 이용해서 아래의 함수를 템플릿으로 정의한다는 의미이다. 그럼 템플릿을 활용한.. 2023. 5. 27.
[JAVA] 업캐스팅과 instanceof 연산자 업캐스팅 업캐스팅이란 서브클래스의 객체에 대한 래퍼런스를 슈퍼 클래스 타입으로 변환하는 것을 말한다. 업캐스팅한 래퍼런스로는 객체 내에 모든 멤버에 접근할 수 없고 슈퍼 클래스의 멤버만 접근할 수 있다. class Person{ } class Student extends Person{ } public class UpcastingEx{ public static void main(String[] args){ Person p; Student s; p = s; } } 다운캐스팅 업캐스팅과 반대로 캐스팅하는 것을 다운캐스팅이라고 한다. class Person{ String name; String id; public Person(String name){ this.name = name; } } class Studen.. 2023. 5. 23.
[JAVA] 추상 클래스 vs. 인터페이스 추상 클래스 추상 클래스(abstract class)란 선언은 되어 있으나 코드가 구현되어 있지 않은, 즉 껍데기만 있는 메소드이다. abstract 키워드와 함께 원형만 선언하고 코드는 작성하지 않는다. 추상 클래스(abstract class)가 되는 경우는 다음 2가지이다. 1. 추상 메소드를 포함하는 클래스 abstract class Shape{ public Shape(){ } public void pain() {draw();} abstract public void draw(); } 2. 추상 메소드가 없지만 abstract로 선언한 클래스 abstract class MyComponent{ String name; public void load(String name) { this.name = name.. 2023. 5. 23.
[JAVA] 상속 상속 자바에서 상속이란 아래 클래스가 위 클래스를 상속받아 확장함(extend)을 뜻한다. 부모 클래스는 슈퍼 클래스(super class), 상속받는 자식 클래스를 서브 클래스(sub class)라 부른다. 상속을 선언할 때는 extends 키워드를 사용한다. public class Person{ } public class Student extends Person{ //Person을 상속받는 클래스 Student 선언 } public class StudentWorker extends Student{ //Student를 상속받는 클래스 StudentWorker 선언 } Student 클래스는 Person 클래스의 멤버를 물려받으므로, Person 클래스에 선언된 필드나 메소드를 다시 반복하여 작성할 필요.. 2023. 5. 9.