OOP(Object Oriented Progarmming)


-객체를 먼저 만들고, 이것들을 하나씩 조립하여 완성된 프로그램을 만드는 기법



객체(Object)란?


-물리적으로 존재하거나, 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있고, 다른 것과 식별 가능한것

-객체는 속성(필드-field)과, 동작(메소드-method)으로 구성되었음 



객체 지향 프로그래밍의 특징


캡슐화(Encapsulation)

-객체의 필드, 메소드를 하나로 묶고 , 실제 구현 내용을 감추는 것

-외부 객체는 객체 내부 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용가능


외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 접근제한자를 사용하여 객체의 필드와 메소드의 사용범위를 제한, 외부로부터 보호한다.



상속(Inheritance)

-부모 역할의 상위 객체가 자기가 가지고있는 필드와 메소드를 자식 역할의 하위 객체에게 물려주는 것


상위 객체를 재사용 해서 하위 객체를 쉽고 빨리 설계할 수 있도록 도와주고, 상위 객체의 수정으로 모든 하위 겍체들의 수정효과를 가져와 유지보수가 간편하다.




다형성(Polymorphism)

-같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질


하나의 타입에 여러 객체를 대입함으로 써 다양한 기능을 이용할 수 있도록 해준다. 

자바는 다형성을 위해 부모클래스 혹은 인터페이스 타입변환을 허용한다.



추상화(Abstraction)

-구체적인 사물의 공통적인 특징(field, method)를 뽑아내는 것


구현하는 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미한다. 

'JAVA' 카테고리의 다른 글

[java] 배열  (0) 2018.11.13
[java]기초공부하기  (0) 2018.11.13
자바 ,JDK 설치 및 환경변수설정  (0) 2018.09.11

데이터 사전이란?

-사용자와 데이터베이스의 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블의 집합

-사용자가 테이블을 생성하거나 사용자를 변경하는 등의 작업을 할 때 데이터베이스 서버에 의해 자동으로 갱신된다(사용자는 데이터 사전의 내용을 직접 수정하거나 삭제할 수 없음) 

-사용자가 이해할 수 있는 데이터를 산출해 줄 수 있도록 하기 위해서 읽기 전용 뷰 형태로 정보를 제공합니다.


데이터 사전은 크게 3가지로 나뉜다.


 접두어

의미 

USER_ 

자신의 계정이 소유한 객체 등에 관한 정보 

ALL_ 

자신 계정 소유 또는 권한을 부여 받은 객체 등에 관한 정보 조회 

DBA_ 

데이터베이스 관리자만 접근 가능한 객체 등의 정보 조회 






USER_데이터 사전


사용자와 가장 밀접하게 관련된 뷰로써 자신이 생성한 테이블, 인덱스, 뷰, 동의어 등의 객체나 해당 사용자에게 부여된 권한 정보를 제공한다.



사용자가 소유한 테이블에 대한 정보 조회

1
select table_name from user_tables;
cs


이 외에도

USER_SEQUENCES - 사용자가 소유한 시퀀스의 정보 조회

USER_INDEXES - 사용자가 소유한 인덱스의 정보 조회

USER_VIEWS - 사용자가 소유한 뷰의 정보 조회


USER_데이터 사전은 USER_뒤에 원하는 객체등을 기술해주면되는데 뒤에 기술되는 명칭은 S 가 붙은 

복수타입이다.






ALL_ 데이터 사전

-전체 사용자와 관련된 뷰로써 사용자가 접근할 수 있는 모든객체에 대한 정보를 조회할 수 있다.

-조회중인 객체가 누구의 소유인지를 확인하도록 하기위해 OWNER칼럼을 제공한다.




all_table로 자신이 소유한 혹은 권한을 부여받은 테이블에 대한 정보 조회


1
select owner, table_name from all_tables;
cs





DBA_데이터 사전


DBA나 시스템 권한을 가진 사용자만 접근이 가능하다.

사용자가 다른경우 DBA로 시작하는 데이터 사전을 조회할 권한이 없기 때문에 SYSTEM계정으로 접속해야한다.


현재 제가 접속한 사용자는 hr인데 hr은 DBA로 시작하는 데이터 사전을 조회할 권한이 없기 때문에 

오류가 난다. 그러므로 권한이 있는 시스템 계정에서 조회 해보겠다.




ㅁㅁㅁㅁㅁㅁㅁ

시스템 계정 접속하기


dba_table로 테이블에 대한 정보 조회하기


1
select owner, table_name from dba_tables;
cs



너무많아서 캡쳐 불가능입니다.

2080개나되는 많은 자료들을 볼 수 있었다.




TRUNCATE TABLE - 기존 사용하던 테이블의 모든 로우를 제거




- 테이블의 구조는 그대로 유지

- 테이블의 데이터와 할당된 공간만 해지

- 테이블에 생성된 제약 조건과 연관된 인덱스, 뷰 , 동의어는 유지


형식



TRUNCATE TABLE 테이블명;




1
truncate table a3;
cs



truncate table 을 사용하고나서 select는 안되지만 desc는 나타나는 것을 볼 수 있다.

+ Recent posts