(JAVA [생성자, 상속, 오버라이딩, 오버로딩, 추상 클래스])
JAVA언어, 오버라이딩
b.paint();
1. super.draw(); >> A.draw() 에서 B출력 후
2. B.draw() 에서 D출력
3. 다시돌아와 C출력
4. this.draw(); 에서 D출력
b.draw();
5. D출력
순서대로 BDCDD
(참고) new 연산자로 선언할때 A클래스 타입이 아니라 B클래스 타입으로 선언되었기때문에 super.draw()가 아닌 draw()로 호출하면 B 클래스의 메소드가 호출됩니다
OAuth - 로그인 인증 API
chmod 751
모드변환 : Chmod / 권한변환 : Chown
U / G / Other
rwx 읽기(4)/쓰기(2)/실행(1)
출제 : [프로그래밍 언어09 - 1.C언어 – 9)복잡한 제어문(다중 for문)]
C언어, 1~100까지 완전수 6+28
답안 : ->
출제 : [프로그래밍 언어13 - 1.C언어 – 13)포인터]
C언어, 구조체 멤버 접근 기호
구조체 변수를 이용해서 직접적으로 원소에 접근할때는 .연산자를,
구조체 포인터를 이용해서 간접적으로 원소에 접근할때는 → 연산자를 사용해야 합니다.
d2→numptr는 (*d2).numPtr과 동일
4
3
1
출제 : [SQL02 – 2.DML]
union 중복 X
union all 중복 O
출제 : [보안03 – 6.데이터베이스 보안(접근 통제)]
[21년 1회 기출] MAC : 보안등급, RBAC : 역할, DAC : 신분
강제 접근제어 (MAC, Mandatory Access Control)
임의 접근제어 (DAC, Discretionary Access Control)
사용자 역할 접근제어 (RBAC, Role Based Access Control)
C언어, 재귀함수
답안 : ATM(Asynchronous Transfer Mode)
출제 : [네트워크02 – 3.OSI 7계층 및 프로토콜]
비동기, Cell 크기가 53 Byte
포인터문제
1차원배열에서는 *(p+i)==p[i]==*&p[i]는 값이라고 배웠는데
2차원 배열에서는 *(p+i)==p[i]==*&p[i]가 주소를 가리킨다
*p+4 풀이.
*p에서('K') +4칸( K L M N 'O')
'O' 가 나옴.
***************************************************************************************
ABCDEFG
HIJKLMN
OPQRSTU
VWXYZ
JAVA[다형성, 재귀함수]
두 클래스가 서로 상속관계에 있을 경우, 부모 클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조하도록 하는 것 가능
Parent p = new Parent(); //허용
Child c = new Child(); //허용
Parent pc = new Child();//허용
Child cp = new Parnet(); //오류
7을 재귀함수로 넘겨
답안 : NAT(Network Address Translation)
static(정적 메소드)
split() 함수 - 특정 문자를 기준으로 문자열을 나눈 뒤, 리스트 형태로 반환하는 함수
<⭐️파이썬 함수는 다 외우기>
출제 : [소프트웨어 설계02 – 2.UML]
[20년 4회 기출] 객체 등과 같은 여러 요소들을 그룹화한 ( 패키지 ) 다이어그램
구조적 다이어그램 (클객 컴배 복패)
클래스 / 객체 / 컴포넌트 / 배치 / 복합체 구조 / 패키지
답안 : Equivalence Partitioning
출제 : [테스트 수행 및 결함 조치01 – 2.블랙박스 테스트]
[20년 4회 기출] 입력 데이터 영역, 유효값/무효값을 그룹핑하여 대표값, 테스트케이스 도출
▶ 화이트박스 테스트 유형
구결조 조변다 기제데루
⦁ 구문(Statement) 커버리지 : 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지
⦁ 결정(선택, 분기)(Decision) 커버리지 : 결정 포인트 내의 전체 조건식이 적어도 한번은 참과 거짓의 결과가 되도록 수행
⦁ 조건(Condition) 커버리지 : 결정 포인트 내의 각 개별 조건식이 적어도 한번은 참과 거짓의 결과가 되도록 수행
⦁ 조건/결정 커버리지 : 전체 조건식 + 개별 조건식
⦁ 변경 조건/결정 커버리지 : 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함
⦁ 다중 조건(Multiple Condition) 커버리지 : 결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 커버리지
▶ 블랙박스 테스트 유형
동경결상 유분페원비오
⦁ 동등 분할(Equivalence Partitioning) 테스트 : 입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출해 테스트
⦁ 경곗값 분석(Boundary Value Analysis) 테스트 : 최솟값 바로 위, 최대치 바로 아래 등 입력값의 극한 한계를 테스트 하는 기법
⦁ 결정 테이블(Decision Table) 테스트 : 요구사항의 논리와 발생조건을 테이블 형태로 나열해, 조건과 행위를 모두 조합해 테스트
⦁ 상태 전이(State transition) 테스트 : 어느 한 상태에서 다른 상태로 전이 되는 경우의 수를 수행하는 테스트
⦁ 유스케이스(Use Case) 테스트 : 프로세스 흐름을 기반으로 테스트 케이스를 명세화해 수행하는 테스트
⦁ 분류 트리(Classification Tree Method) 테스트 : SW의 일부 또는 전체를 트리구조로 분석 및 표현하여 테스트 케이스 설계해 테스트
⦁ 페어와이즈(Pairwise) 테스트 : 테스트 데이터 값들 간에 최소한 한 번씩을 조합하는 방식
⦁ 원인-결과 그래프 테스트 : 그래프를 활용해 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석
⦁ 비교테스트
⦁ 오류 추정 테스트
출제: 클라우드
사용자가 컨트롤할 수 있는 범위 기준 : 넓 I > P > S 좁
IaaS : 서비스로서의 인프라, 개발 및 테스트 환경의 구축 및 제거가 빠르고 유연, AWS, Azure, GC가 대표적, 사용자가 컨트롤할 수 있는 범위가 넓음 - os, middleware runtime, data, applications
PaaS : 서비스로서의 플랫폼, 제공업체가 자체 인프라에서 하드웨어와 소프트웨어를 호스팅, Elastic Beanstalk, Heroku, Red Hat OpenShift, 사용자가 컨트롤할 수 있는 범위 - Applications, Data
SaaS : 서비스로서의 소프트웨어, 모든 애플리케이션은 제공업체가 관리, 웹 브라우저를 통해 제공, 사용자는 대시보드 또는 API를 통해 애플리케이션에 연결, 개별 시스템에 소프트웨어를 설치할 필요가 없음, Dropbox, salesforce, google apps, red hat insights
RIP - IGP 중 거리벡터 알고리즘, 라우팅 프로토콜
RIP : 현재 가장 널리 사용되는 라우팅 프로토콜로, 소규모 동종의 네트워크 내에서 효율적인 방법이며, 최대 홉수를 15로 제한함. 거리벡터 방식인 Bellman-Ford 알고리즘 사용. 자율 시스템(AS) 사용.
IGRP : RIP의 단점을 보완하기 위해 만들어 개발된 것으로, 네트워크 상태를 고려하여 라우팅하며, 중규모 네트워크에 적합함
OSPF : 대규모 네트워크에서 많이 사용되는 라우팅 프로토콜로, 라우팅 정보에 변화가 생길 경우 변화된 정보만 네트워크 내의 모든 라우터에 알리며, RIP에 비해 홉수에 제한이 없음. 자신을 기준으로 한 다익스트라 알고리즘 기반으로 최단 경로를 찾는 라우팅 (Link-State) 프로토콜
BGP : 자율 시스템(AS) 간의 라우팅 프로토콜로, 도달 가능성 정보를 교환하도록 설계된 표준화된 외부 게이트웨이 프로토콜의 하나. 대형 사업자(ISP)
출제 : [SQL05 – 6.관계 대수, 관계 해석]
관계 대수 기호
join : ⋈
project : π
select : σ
division : ÷
SELECT
- 릴레이션에 존재하는 튜플들 중에서 특정 조건을 만족하는 튜플들의 부분집합을 구하여 새로운 릴레이션을 만든다.
- 릴레이션의 행에 해당하는 튜플을 구하는 것으로, 수평 연산이라고도 한다.
- SELECT 연산의 기호는 그리스 문자 시그마(σ)이다.
- 표기 형식 : σ(조건)(R)
· R은 릴레이션
· 조건에서는 =, ≠, <, ≤, >, ≥ 등의 기호를 사용한 비교 연산이 허용, AND(∧), OR(∨), NOT(ㄱ) 등의 논리 연산자를 사용하여 여러 개의 조건들을 하나의 조건으로 결합시킬 수도 있다.
PROJECT
- 주어진 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만든다. 단, 연산 결과에 중복이 발생하면 중복이 제거된다.
- 릴레이션에서 열에 해당하는 속성을 추출하는 것으로, 수직 연산이라고도 한다.
- PROJECT 연산의 기호는 그리스 문자 파이(π)이다.
- 표기 형식 : π(속성 리스트)(R)
· R은 릴레이션
JOIN
- 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만든다.
- JOIN 연산의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차수를 합한 것과 같다.
- JOIN 연산의 결과는 CARTESIAN PRODUCT 연산을 수행한 다음 SELECT 연산을 수행한 것과 같다.
- JOIN 연산의 기호는 ▷◁ 이다.
- 표기 형식 : R▷◁(JOIN 조건)S
· R, S는 릴레이션
· =, ≠, <, ≤, >, ≥ 등의 비교 연산자를 비교 연산자를 θ로 일반화하여 θ로 표현될 수 있는 조인을 세타 조인(θ-join, Theta JOIN)이라고 한다.
· JOIN 조건이 '='일 때 동일한 속성이 2번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성은 1번만 나타나게 하는 연산을 자연 조인(NATURAL JOIN)이라고 한다.
· 자연 조인과 반대로 중복된 속성을 나타내는 연산은 동일 조인(Equi JOIN)이다.
DIVISION
- 두 릴레이션 R(X)과 S(Y)에 대해 Y⊆X, X-Y=Z라고 하면, R(X)와 R(Z,Y)는 동일한 표현이다. 이때, 릴레이션 R(Z,Y)에 대한 S(Y)의 DIVISION 연산은 S(Y)의 모든 튜플에 연관되어 있는 R(Z)의 튜플을 선택하는 것이다.
- 표기 형식 : R[속성r ÷ 속성s]S
· 속성 r은 릴레이션 R의 속성, 속성 s는 릴레이션 S의 속성이며, 속성 r과 s는 동일 소성 값을 가지는 속성이어야 한다.
출제 : [데이터베이스02 – 4.무결성]
외래키, ( 참조 ) 무결성 제약 조건
1. 영역 무결성
- 한 컬럼에 대해 NULL의 허용 여부와 타당한 데이터 값들을 지정합니다.
- 자료형(Data type), 규칙과 제약(Rules), 값 범위 등을 제한합니다.
2. 참조 무결성
- 기본 키와 참조 키 간의 관계가 항상 유지됨을 보장합니다.
- 참조되는 테이블의 행을 이를 참조하는 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없습니다.
3. 개체 무결성
- 테이블에 있는 모든 행들이 유일한 식별자를 가질 것을 요구합니다