목록전체 글 (196)
gambae programing
클래스 상속 프로그램에서는 자식이 부모를 선택 자식 클래스를 선언할 때 어떤 부모 클래스를 상속받을 것인지 결정하고 , 선택된 부모 클래스는 extends 뒤에 기술 여러 개의 부모 클래스를 상속할 수 없음 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외됨 // 다른 package라면 public 제한자만 class 자식클래스 extends 부모클래스 { } 부모 생성자 호출 자식 객체를 생성하면, 내부적으로 부모 객체가 먼저 생성 public 자식클래스() { super(); // 부모의 기본 생성자 호출 , 매개 변수가 들어갈 수 있음 } 메소드 오버로딩 부모클래스에서 상속된 일부 메소드가 자식 클래스에서 다시 수정해서 사용할 때 사용 자식 메소드는 부모 메소드보다..

이제 사원 관리 프로그램을 mvc패턴에 맞게 수정하겠다. main클래스의 사용자에게 보여지는 부분을 제외한 기능들을 모두 controller 클래스로 옮겨준다. 1. 등록 사용자의 데이터는 main 클래스가 입력만 받을 뿐 보관은 controller에서 해줘야한다. controller 객체를 만든 뒤 메소드를 이용해 값을 넘겨준다. addList를 클릭한뒤 create method를 통해 메소드를 만들어 준다. 메소드를 통해 받은 매개변수들을 employee 객체를 만든뒤 ArrayList에 저장한다. 2. 삭제 삭제하고 싶은 사번을 입력받고 메소드를통해 controller 클래스에 전달해준다. removeEmp 메소드를 만들고 삭제 기능을 넣어준다. 4. 조회 조회는 어떠한 기능을 구현하는것이 아니라 ..

현재 사원관리 프로그램은 두 개의 Class를 가지고 있다 하지만 main 클래서에서는 출력 및 기능구현 2가지 일을 하고있다 마치 홀 알바가 주방 알바를 하는 것처럼.. 이는 유지 보수가 힘들 뿐만 아니라 코드들을 구분하기가 어렵다 좀 더 쉽고 편리하게 사용하는 방법들을 디자인 패턴이라고 하고 그 중 하나가 MVC패턴이다. MVC 프로젝트를 구성할 때 구성요소를 Model,View,Controller 3가지 역할로 구분한 패턴 Model 애플리케이션의 정보, 데이타를 나타냄 데이터베이스, 처음의 정의하는 상수, 초기화값, 변수 등을 뜻함 데이터 추출,저장,삭제,수정 등의 역할을 수행 사용자가 편집하기를 원하는 모든 데이터를 가지고 있어야 함 View나 Controller에 대해서 어떤 정보도 알지 말아..

기능(1.등록 2.삭제 3.수정 4.조회 5.휴가 6.종료) 을 구현해보자. 사용자가 입력하는 기능이 종료가 아닌 이상 계속 실행되야하므로 while문으로 기본 틀을 잡아준다. 1. 등록 사용자로부터 이름,사번,입사일,부서,직급,휴가유무,월급 데이터를 입력받는다. 입력받은 데이터 값을 사용자 정의 생성자에 매개변수로 사용해서 객체를 만들어준다. 사원들이 정보를 담을 배열이 필요한데 길이를 지정할 수 없으니 ArrayList를 만들어준 뒤 객체를 추가해준다. list라는 ArrayList는 자료형 Employee 즉,객체만 담을 수 있다 2.삭제 삭제하고 싶은 사원번호를 입력 받은 뒤 for문을 통해 ArrayList를 돌면서 객체의 사원번호와 일치하면 삭제한다. 3.수정 수정하고 싶은 사원번호와 수정 할..

사원 관리 프로그램을 만들어 보자 기능은 (1.등록 2.삭제 3.수정 4.조회 5.휴가 6.종료) 먼저 사원들의 정보를 담을 Employee 클래스를 생성 그리고 사원이 가지고 있어야할 속성 (필드) 을 선언한다. 외부에서 필드의 값을 임의로 변경하지 못하게 접근 제한자 private를 걸어준다. private를 걸어줬기 때문에 main 클래스에서 필드들의 값을 지정할 수 없어서 메소드를 만들어서 우회한 다음 값을 지정해준다. 통상정으로 값을 넣는것은 set , 값을 불러오는것은 get 메소드를 이용한다 alt + shift + s 로 getter & setter 메소드를 자동으로 불러올 수 있다. main 클래스에서 Employee 클래스의 필드에 값을 넣어주려면 setter 메소드를 사용해야 하지만 ..
메소드 선언 접근제한자 리턴타입 메소드이름 ( [매개변수선언,'''] ) { 실행할 코드를 작성하는 곳 // 메소드 실행 블록 } 리턴 타입 : 메소드가 리턴하는 결과의 타입을 표시 // 리턴타입이 없으면 void 메소드 이름 : 메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지정 매개 변수 선언 : 메소드를 실행할 때 필요한 데이터를 받기 위한 변수를 선언 메소드 실행 블록 : 실행할 코드를 작성 매개 변수의 개수를 모를 경우 리턴타입 메소드이름 (int ··· values) { } // 넘겨준 값의 수에 따라 자동으로 배열이 생성되고 매개값으로 사용

생성자 new연산자로 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당 객체 초기화 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것 생성자를 실행하지 않고는 클래스로부터 객체를 만들 수 없음 생성자가 성공적으로 실행되면 힙 영역에 객체가 생성되고 객체의 번지를 리턴 리턴된 객체의 번지는 클래스 변수에 저장 생성자 선언 메소드와 비슷한 모양을 가지고 있으나 , 리턴 타입이 없고 클래스 이름과 동일 모든 클래스는 생성자가 반드시 존재하며 , 생성자를 하나 이상 가질수 있음 클래스 내부에 생성자 선언을 생략했다면 컴파일러는 기본 생성자를 바이트 코드에 자동 추가 [ pubilc ] 클래스 () { } // 기본 생성자 [ public ] 클래스 (매개변수 선언) { 객체의 초기화..

필드 객체의 고유 데이터 , 객체가 가여야 할 부품 , 객체의 현재 상태 데이터를 저장하는 곳 필드 선언 필드 선언은 클래스 중괄호 블록 어디서든 존재 생성자와 메소드 중괄호 블록 내부에는 선언 될 수 없음 필드 사용 클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 읽고 변경하면 되지만 , 클래스 외부에서 사용할 경우 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용해야함 필드는 객체에 소속된 데이터이므로 객체가 존재하지 않으면 필드도 존재하지 않음 도트 연산자는 객체 접근 연산자로 객체가 가지고 있는 필드나 메소드를 사용하고자 할 때 사용

시퀸스 고유 번호를 자동으로 생성 공유 가능한 객체 일반적으로 기본 키 값을 생성하는 데 사용 응용 프로그램 코드를 대체 시퀸스 문 increment by n : 시퀸스 번호 사이의 간격을 지정 , 생략시 시퀸스는 1씩 증가 start with n : 첫번째 시퀸스 번호를 지정 , 생략시 시퀸스는 1부터 시작 maxvalue n : 시퀸스가 생성할 수 있는 최대값을 지정 , 생략시 디폴트 값 non maxvalue minvalue n : 시퀸스의 최소값을 지정 , 생략시 디폴트 값 non minvalue cycle | nocycle : 최대값 또는 최소값에 도달한 이후에도 시퀸스가 계속 값을 생성할지 여부를 지정 , nocycle이 디폴트 값 cache n | no cache : 오라클 서버가 미리 할당..

뷰 테이블 뷰를 생성하면 데이터의 논리적인 부분 집합 또는 조합을 나타낼 수 있음 뷰는 자체적으로 데이터를 포함하지는 않지만 뷰를 통해 데이터를 보거나 변경할 수 있음 뷰는 데이터 딕셔너리에 select문으로 저장 뷰 사용 목적 데이터 액세스를 제한하기 위해 복잡한 질의를 쉽게 작성하기 위해 데이터 독립성을 제공하기 위해 동일한 데이터로부터 다양한 결과를 얻기 위해 뷰 생성 Top-N 분석 Top-N 질의는 테이블에서 조건에 맞는 최상위 레코드 n개 또는 최하위 레코드 n개를 표시하는 시나리오