웹에서 데이터를 가져올 때 변수를 사용한다.
이때 데이터 노출의 위험이 있기 때문에
변수를 감추는 과정이 필요하다.
이를 위해 자바에선
private 변수를 사용하여 캡슐화 하는데
이처럼 보안상의 이유로 코드를
감추는 과정을 시큐어 코딩이라고 한다.
시큐어 코딩의 사전적 의미는 아래와 같다.
개발하는 소프트웨어가 복잡해짐으로 인해 보안상 취약점이 발생할 수 있는 부분을 보완하여 프로그래밍하는 것.
시큐어 코딩에는 안전한 소프트웨어를 개발하기 위해 지켜야 할 코딩 규칙과 소스 코드 취약 목록이 포함된다.
참조 [네이버 지식백과] 시큐어 코딩 [secure coding] (IT용어사전, 한국정보통신기술협회)
DATABASE
우선 데이터를 DB에 저장한다. (오라클 사용)
데이터가 숫자라면 NUMBER
문자라면 VARCHAR2
장문이라면 CLOB
날짜라면 DATE 를 사용한다.
JAVA Encapsulation
private로 변수를 생성하면 해당 클래스에서만 변수 접근이 가능하다.
오라클에서 사용하는 데이터형과 자바에서 사용하는 데이터형이 다르기 때문에 맞추는 과정이 필요하다.
Oracle >>>>>>>> | Java |
NUMBER | int |
NUMBER(2,1) | double |
VARCHAR2 , CLOB | String |
DATE | java.util 패키지의 DATE |
위에서 생성한 오라클 테이블과 아래의 사진을 비교하면 어떻게 데이터형을 맞췄는지 확인해보자.
Getter / Setter
다른 클래스에서 변수를 사용하기 위해서 Getter / Setter 과정을 거친다.
위에서 private 변수를 선언했다면 매서드 영역의 빈 공간에서
마우스 오른쪽 클릭 > Source > Generate Getters and Setters
Select All > Generate
아래 화면과 같이 자동으로 getter setter 매서드가 생성됐음을 확인 할 수 있다.
이렇게 private 변수로 선언 후
Getter / Setter 매서드를 이용하여
데이터를 읽기 / 쓰기 한다면
외부에서 직접적으로 자료에 접근하는 것을 방지할 수 있다.
웹 프로그래밍 에서는 필수적인 과정이므로
해당 과정은 완벽히 이해하는 것이 좋다.
'JAVA' 카테고리의 다른 글
[JAVA] 이클립스 톰캣 서버 추가 후 브라우저 출력 (맥 & 윈도우) Apache Server (0) | 2022.07.28 |
---|---|
[JAVA/오라클] java 패키지명과 기능에 대하여 (controller, model, mapper, manager, vo, dao, ) (0) | 2022.07.18 |
JAVA_regex_정규식 패턴 [가-힣] [a-zA-Z] [0-9] (1) | 2022.06.10 |
[JAVA] 자바 라이브러리 종류_외부 라이브러리 링크 참조 (0) | 2022.06.08 |
JAVA_자바 클래스 작성법 (규칙 및 구성요소) (0) | 2022.05.27 |