받은 점수:
나의 소감:
[문항1]
내가 쓴 답안 >>
클래스의 멤버를 클래스 자신과 이 클래스로부터 상속받은 서브클래스에만 접근을 허용한다
선생님의 풀이 >> default와의 연관점도 설명하기
↳ protected 접근 제어자의 경우 default 접근 제어와 비슷하지만, default 접근 제어와는 다르게 상속된 클래스에서의 접근을 허용한다.
[문항2]
내가 쓴 답안 >>
1) 객체 설명
- Statement: Statement 인터페이스를 구현한 객체로, 항상 인수가 없는 Connection 클래스의 CreateStatement() 메서드를 호출함으로서 얻어진다. 단순한 질의문을 사용할 때 유용하다.
- PreparedStatement: 문장을 준비해 놓을때 사용한다. 가독성이 뛰어나서 긴 코드를 정리할 때 사용하기 좋으며, 보안유지가 우수하다
- CallableStatement: SQL 데이터베이스 내의 프로시저 객체를 실행시킬 때 사용한다. 보안이 우수하고 가독성이 뛰어나다
2) 객체 비교
공통점: Statement와 PreparedStatement, CallableStatement 모두 SQL 쿼리를 실행시킨다는 공통점이 있다.
차이점:
- Statement는 sql을 할당하는 시점에서 고정된 데이터를 갖는 쿼리문을 실행하고, 객체의 exequteQuery() 메서드를 호출하여 SQL 질의를 실행시킬 수 있다.
- PreparedStatement의 경우, 쿼리를 미리 생성하여 쿼리에 들어갈 변수를 설정해준뒤 쿼리를 실행한다는 점에서 Statement 객체와 다르며, Statement보다 좀 더 효율적이다.
- CallableStatement는 {CALL 프로시저_이름} 형태로 쿼리문을 실행한다.
선생님의 풀이 >>
PreparedStatement는 CallableStatement 같은 가족에서 나온 관계(상속관계)이다, 를 첨언하면 더 좋음
[문항3] ⭐⭐
내가 쓴 답안 >>
공통점: 상속성(Inheritance)을 띄고 있다
차이점:
- implements
1) 추상적인 interface 구현
2) interface가 class에게 상속할 때 implements를 사용함
3) 표준화, 부품화 할 때 사용함
4) 여러 개를 상속할 수 있음
- extends
1) 부모 메소드(class)에게 상속받은 뒤 없는 것을 확장시켜주는 역할을 함
2) interface끼리 상속받을때 extends를 사용함
3) Class를 재사용할때 사용함
4) 하나만 상속할 수 있음
선생님의 풀이 >>
implements에 overide를 관련지어 첨언하고, 자바파일에서는 default와 static이 추가되었다는 사실도 첨언하기
[문항4]
내가 쓴 답안 >>
Runnable
선생님의 풀이 >>
풀이: extends라면 thread지만, implements이므로 Runnable임
[문항5]
내가 쓴 답안 >>
객체지향 핵심요소 네 가지
1)추상화: 현실세계를 그대로 표현하기보다 중요한 측면에 주목하며, 상세내역을 없애 나가는 과정이다
2)상속성: Super Class가 갖는 성질을 Sub Class에 자동으로 부여 PGM을 쉽게 확장할 수 있게 만드는 수단이다
3)다형성: 동일 Interface 서로 다르게 응답할 수 있는 특성을 가지고 있으며, 연관된 Class를 위한 일관된 매개체를 개발하는 수단이다
4)캡슐화: 객체의 상세 내역을 객체외부에 철저히 숨기고, 단순히 Message만으로 객체와 상호작용 객체 내부 구조와 실체 분리로 내부 반경이 PGM에 미치는 영향을 최소화한다, 유지보수가 용이하다
선생님의 풀이 >>
다형성에 overloading과 overriding에 대한 점도 첨언하기
↳ 오버로딩 overloading: 같은 클래스내에서 같은 이름의 메서드를 지원하면서 매개변수의 유형과 개수가 다르도록 하는 기술
↳ 오버라이딩 overriding: 부모 메소드의 방식을 자식 메소드가 상속받고 재정의 하는 것
[문항6]
내가 쓴 답안 >>
1. Result result = new Result();
2. final
선생님의 풀이 >>
답: 1. boolean 2. boolean
풀이:
`
내가 쓴 답안 >>
ArrayList<Movie> al = new ArrayList<Movie>();
선생님의 풀이 >>
답:
풀이:
[문항8]
내가 쓴 답안 >>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int deptno = Integer.parseInt(request.getParameter("deptno"));
String dname = request.getParameter("dname");
String loc = request.getParameter("loc");
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String sql = "insert into dept values (?,?,?)";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,"scott","tiger");
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, deptno);
pstmt.setString(2, dname);
pstmt.setString(3, loc);
int result = pstmt.executeUpdate();
if (result > 0)
out.println("입력 성공");
else
out.println("입력 실패");
pstmt.close();
conn.close();
%>
</body>
</html>
선생님의 풀이 >>
답:
풀이:
'JSP' 카테고리의 다른 글
2024_06_24_월 JSP(프론트엔드) 시험 (0) | 2024.06.24 |
---|