👩💻
60점부터 재시험인데 아슬아슬하게 65점 맞았다..😱
휴.. mysql에서는 실수가 많았고 java에서는 이해가 부족한 부분이 많았다.
JAVA
🔰 오버로딩이 성립하기 위한 조건
1. 메소드 이름이 같아야 한다.
2. 매개변수의 갯수가 달라야 한다.
3. 매개변수 타입이 달라야 한다.
4. 리턴타입이 같아야 한다.
🔰 오버라이딩이 성립하기 위한 조건
1. 상위클래스의 메소드의 이름이 같아야 한다.
2. 매개변수의 개수와 타입이 같아야 한다.
3. 상위 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다.
4. 상위 클래스의 메소드 보다 더 큰 범위의 예외를 선언할 수 없다.
🔰 상속관계가 아닌경우에는 다운캐스팅/업캐스팅을 할수 없다.
1. intern = (intership)temp;
-> Intership과 Temporary는 상속관계의 메서드가 아니기 때문에 형변환이 되지 않는다.
2. Regular reg = (Regular)emp;
-> emp의 Employee > Regular는 상속관계이기 때문에 강제 형변환이 가능하다.
3. NonRegulqr emp = temp;
NonRegulqr > Temporary 상속관계이기 때문에 자연스럽게 형변환이 된다.
🔰 오류코드의 맨 위에 있는 시점이 오류 발생 시점이다.
1. 예외가 발생했을 당시 호출 스택에 존재했던 메서드를 알수 있다.
2. 예외가 발생한 위치는 method2메서드이며, ExceptionExam.java파일의 12번째 줄이다.
3. 발생한 예외는 ArithmeticException이며, 0으로 나누어서 예외가 발생한다.
4. method1가 method2를 호출했고 그 위치는 ExceptionExam.java파일의 8번째 줄이다.
🔰 HashSet의 String타입은 따로 equal, hash를 해주지 않아도 중복데이터를 제외한다.
답은 자바/카푸치노/에스프레소/카라멜마끼야토 이렇게 4개이다.
MYSQL
🔰 그룹바이 컬럼 실수
작성 답
SELECT job, SUM(sal) FROM emp WHERE job != 'salesman'
GROUP BY sal HAVING SUM(sal)>5000
ORDER BY sum(sal) desc
답
SELECT job, SUM(sal) FROM emp WHERE job != 'salesman'
GROUP BY job HAVING SUM(sal)>5000
ORDER BY sum(sal) desc
🔰 NATURAL JOIN 이라고 적어야함 + 오타
틀린답
1) SELECT empno, ename, job, dname, loc
FROM emp NATUAL dept
WHERE deptno = 7900
답
SELECT empno, ename, job, dname, loc
FROM emp NATURAL JOIN dept
WHERE deptno = 7900
🔰 사원번호도 IN으로 받았어야 했음, 봉급의 데이터형이 틀렸음 FLOAT으로 줬어야 함
내가 쓴 답
DELIMITER //
CREATE PROCEDURE sp_emp_sal_update(
IN v_sal INT
)
BEGIN
UPDATE emp SET sal=v_sal WHERE empno = 7369;
COMMIT;
END
//
DELIMITER ;
답
DELIMITER //
CREATE PROCEDURE sp_emp_sal_update(
IN v_sal FLOAT(7,2),
IN v_empno SMALLINT(4),
)
BEGIN
UPDATE emp SET sal=v_sal WHERE empno = v_empno;
COMMIT;
END
//
DELIMITER ;