객체 지향 프로그래밍에서 코드 상속(Inheritance)은 부모 클래스(상위 클래스)에서 정의한 속성(attribute)과 메서드(method)를 자식 클래스(하위 클래스)에서 물려받아 사용하는 개념을 말한다. 이를 통해 코드의 중복을 최소화하고, 코드 재사용성을 높일 수 있다. 자식 클래스는 부모 클래스의 모든 속성과 메서드를 상속받는 것은 아니다.부모 클래스에서 private으로 선언된 속성과 메서드는 자식 클래스에서 접근할 수 없으며, 부모 클래스에서 final로 선언된 속성과 메서드는 자식 클래스에서 오버라이딩(Overriding)할 수 없다. 자식 클래스는 부모 클래스의 메서드를 오버라이딩하여 자신의 필요에 맞게 수정할 수 있다. 또한, 자식 클래스는 부모 클래스의 메서드를 호출하면서 ..
캡슐화란 서로 연관이 있는 코드들(기능이나 서비스)을 한 곳에 묶어서 관리하는 것을 의미한다. 캡슐화를 하면 외부에서 데이터 접근이 어렵기 때문에 데이터를 보호하는 역할(보안)을 하며코드 수정 시 캡슐안에서만 영향이 발생하기 때문에 오류가 발생하는 범위가 제한적이어서 유지보수/관리를 쉽게 해준다. JAVA에서는 접근제어자를 통해 캡슐화(정보 은닉)를 할 수 있다.접근 제어자내부클래스같은 패키지상속관계publicoooprotectedooodefaultooxprivateo xx캡슐화를 한다고 모든 데이터의 접근을 제한하는 것은 아니다.getter/setter를 통해 외부 접근을 허용하는 데이터를 조회/수정한다. - 예시public class BankAccount { private double b..
1. 위상정렬의 정의 위상정렬은 일의 순서를 정하는 방법으로, 어떤 일들이 다른 일들보다 먼저 끝나야 할 때 사용됩니다. 예를 들어, 요리를 할 때 재료를 준비하고 나서 요리를 시작하는 것처럼, 순서를 지켜야 하는 작업들을 올바르게 나열하는 것입니다. 이는 주로 작업 스케줄링, 의존성 해결 등에서 사용됩니다. 예를 들어, 주어진 그래프는 대학에서 학위를 취득하기 위해 수강해야 하는 과목들의 순서를 나타내고 있습니다. 각 과목은 선행 과목을 요구하며, 마지막에는 졸업시험을 치러야 합니다. 그러면 이와 같이, 각 수강 순서는 선행 과목을 이수한 후에 후행 과목을 수강하는 형태로 나열됩니다. 이를 위상정렬이라고 합니다. 위상정렬의 결과는 여러가지가 될 수 있습니다. 2. 위상정렬의 원리- 순환하지 않는 방..
단어장에서 퀴즈 시작을 누르면 해당 단어장의 단어들을 이용하여 퀴즈를 한다. 랜덤 퀴즈는 다음과 같이 랜덤으로 단어가 주어지고 해당 단어의 뜻을 4지선다에서 고르는 것이다. 문제를 다 풀면 퀴즈 결과 내역을 보여준다. 위 과정들은 모두 자바스크립트를 이용하였기 때문에 servlet/jsp에 대해 쓸 내용은 없다. 여기서 문제는 퀴즈를 끝내고 데이터베이스의 테이블에서 "정답률"을 갱신해야 하는데이를 좀 더 쉽게 구현하기 위해서는 자바스크립트의 비동기 처리(AJAX)를 이용해야 했다. 1. 퀴즈 결과(score)와 데이터베이스에 저장된 정답률(db_score)를 json으로 변환하고 - db_score, score의 자세한 의미와 갱신 방법은 다음과 같다. 2. 이 데이터들을..
id = test1단어장이름 = 토익단어장의단어조회/ 수정을 클릭하면 해당 단어장의 단어들을 보여준다. 단어장 테이블에서 id = 'test1' AND vcab_name = "토익단어장"에 속하는 단어들을 모두 불러와야 한다.이때 얻은 데이터들을 배열 안에 배열 형식으로 리턴한다. 단어 테이블에 접근하는 DAO를 통해 단어 데이터를 얻고 해당 배열을 request에 저장한다. session에 해당 단어장의 이름도 저장한다. 이유는 나중에 단어 수정할 때 어느 단어장의 단어를 수정할 것인지 알아야 하기 때문이다. detail.jsp에 포워딩한다. detail.jsp에서 el태그를 이용하여 request에 저장된 배열을 출력한다. 단어 추가, 삭제는 단어장 추가,삭제와 비슷한 과정이다. ..
회원가입한 계정으로 접속을 하고 해당 계정에는 여러 개의 단어장을 만들 수 있다. id열, 단어장을 추가하여 하나의 테이블에 id, 단어장을 구분하여 저장 할 수 있다. 다음은 최종적으로 데이터베이스에 저장될 테이블들이다. 1. 계정 테이블에는 회원가입 정보가 들어간다.2. 단어장 테이블에는 생성된 단어장의 정보가 ID별로 들어간다.3. 단어 테이블에는 ID, 단어장 마다 생성된 단어가 들어간다. 이때 단어장, 단어 테이블의 ID값은 외래키로, 계정 테이블의 ID를 참고한다. 테이블을 정의하고 나면 해당 테이블의 DTO와 DAO를 만든다. - 단어장 페이지 로그인을 하고 접속을 하면 단어장 페이지로 넘어 간다. 이때 단어장 페이지에는 다음 5가지가 나와야 한다. 1. id에 저..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.