JAVA - 객체지향프로그래밍(필드, 생성자)
·
STUDY/JAVA
OPP(객체지향 프로그래밍) ? 부품에 해당하는 객체를 먼저 만들고, 객체를 조립해 프로그램을 완성하는 기법 완성품 객체를 모델링하고, 집합관계에 있는 부품 객체와 사용 관계에 있는 객체를 하나씩 설계 한 후 조립 객체 ⓐ 속성 (=field) ⓑ 동작 (=method) 객체모델링(Object Modeling) : 현실세계의 객체를 소프트웨어 객체로 설계하는 것 객체가 다른 객체의 기능을 이용하는 것 = method 호출 객체에 도트연산자(.)을 붙이고 메소드를 메소드 이름을 기술 리턴값 = 객체.메소드(매개값1, 매개값2, ....) 객체간의 관계 대부분의 객체는 다른 객체와 관계를 맺고 있다. ⓐ 집합관계 : 객체는 하나는 부품, 하나는 완성품에 해당 ⓑ 상속관계 : 부모객체를 기반으로 자식객체를 생..
JAVA - 열거타입
·
STUDY/JAVA
열거타입 ? 한정된 값만 갖는 데이터 타입 (enumeration type) ex. 계절(봄,여름,가을,겨울) / month(1,2,3,...12) 열거타입 생성 1. file - new - Enum 2. 열거타입이 속할 패키지 명을 입력하고, name 칸에 열거 타입 이름을 작성해준다. 3. 아래와 같이 열거 상수들을 나열해주면 된다. * 열거 상수들은 관례적으로 모두 대문자로 열거타입 사용 열거타입도 하나의 데이터 타입이므로 변수를 선언하고 사용해야 함 열거 상수도 객체이므로 위에 작성한 Season의 경우 SPRING 부터 WINTER까지의 열거 상수는 총 4개의 Season 객체로 생성된다. December에 저장되는 값은 Season.WINTER 열거 상수가 참조하는 객체의 번지이므로 아래 비교..
JAVA - 향상된 for문
·
STUDY/JAVA
향상된 for문 향상된 for문은 카운터 변수와 증감식을 사용하지 않는다. 배열 및 컬렉션 항목의 개수만큼 반복, 자동으로 for문을 빠져나감 for(타입변수 : 배열){ 실행문 } 1. for문이 처음 실행될 때 배열에서 가져올 값이 존재하는지 평가, 2. 가져올 값이 있다면 해당값을 변수에 저장 & 실행문 실행 3. 실행문이 모두 실행되면 배열에서 가져올 다음 값이 존재하는지 평가 4. 존재하면 계속 반복, 없으면 종료 int[] scores = {95,71,86,93,87}; int sum=0; for(int score : scores){ sum = sum + score; } System.out.println("점수 총합 : " + sum); //432
JAVA - 다차원 배열
·
STUDY/JAVA
다차원 배열 2차원 배열 ? 수학의 행렬을 떠올리면 이해하기 쉬운데 가로인덱스와 세로인덱스를 사용한다. int[][] scores = new int [2][3]; 위와같은 코드를 사용하면 2행,3열의 배열이 만들어진다. (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) 이 때, 스택영역에는 scores변수가 생성되고 힙 영역에 int 타입 배열 A, int 타입 배열 B, int 타입 배열 C 세 개의 배열객체를 생성한다. //각각의 길이는 scores.lenght //2(A길이) scores[0].lenght //3(B길이) 0번째 행의 길이 scores[1].lenght //3(C길이) 1번째 행의 길이 자바는 일차원 배열이 서로 연결된 구조로 다차원 배열을 구현하기 때문에 계단식 구조..
JAVA - 배열 1
·
STUDY/JAVA
배열 ? 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스를 부여해 놓은 자료 구조 * 같은 타입의 데이터만 저장할 수 있음 * 한 번 생성된 배열은 길이를 늘이거나 줄일 수 없다. * 배열 변수도 참조 변수에 속하므로 배열객체는 힙 영역에 생성되고 배열 변수는 힙영역의 배열 객체를 참조 배열 선언 ⓐ 타입[] 변수; ex) int[] intArray; ⓑ 타입 변수[]; ex) int intArray[]; 배열 생성 ⓐ 데이터타입[] 변수 = {값0, 값1, 값2, ...}; //배열 인덱스는 "0"부터 시작함 String[] name = {"라푼젤", "신데렐라", "백설공주"} 여기서 "라푼젤"은 name[0], 신데렐라는 name[1], 백설공주는 name[2] 이다. 신데렐라를..
jAVA - 데이터 타입 분류/메모리 사용 영역
·
STUDY/JAVA
자바의 데이터 타입 1. 기본타입(primitive type) : 정수(byte, char, short, int, long), 실수(float, double), 논리(boolean) 2. 참조타입(reference type) : 배열, 열거, 클래스, 인터페이스 >> 객체의 번지를 참조하는 타입 두 타입의 차이점 : 저장되는 값 기본타입은 실제 값을 변수 안에 저장 참조타입을 이용해 선언된 변수는 메모리의 번지를 값으로 갖는다.(번지를 통해 객체를 참조) 변수는 스택영역에 생성되고, 객체는 힙 영역에 생성되는데, 예를 들어 이렇게 네 개의 변수가 선언되었다고 한다면, int age = 40; double price = 100.0; String name = "홍길동" String hobby = "Game"..
MySQL - JOIN
·
STUDY/DATABASE
JOIN ? 여러 테이블의 데이터를 함께 출력할 때 사용 여러 테이블에서 공통된 데이터가 저장된 컬럼을 찾아서 조인 구문을 작성해야 함. 모호한 컬럼명 앞에는 반드시 테이블 명이나 테이블 ALIAS명을 접두어로 붙여야 함. 한쪽 테이블에만 있는 유일한 컬럼명앞에는 테이블명이나 테이블 alias 명이 필수는 아니나, 권장사항 예제1. employees 테이블과 departments 테이블을 조인해서 사번, 이름, 급여, 부서이름을 출력하는 구문을 작성하시오. >> employees 테이블과 dapartments 테이블이 공통으로 가지고 있는 department_id를 기준으로 조인 예제2. employees 테이블과 departments 테이블을 조인해서 사번, 이름, 급여, 부서번호, 부서이름을 출력하는..
MySQL - ERD 만들기
·
STUDY/DATABASE
ERD ? 개체-관계 다이어그램의 약자로 개체와 개체 사이의 관계를 도표(다이어 그램)으로 표현하는 방법 리버스 모델링 ? 기존의 Database(Schema)를 ERD로 바꾸는 작업 Database의 전체적인 구조를 파악하기 쉬움 ERD 만들기 1. [Home] - [Models] - [Create EER Model from Database] 2. 접속 정보 입력 후 next 3. DBMS 접속이 완료 되면 next 4. ERD를 생성할 기존 database 선택 후 next 5. 선택한 스키마 확인 작업이 완료 되면 next 6. 리버스 엔지니어링 작업을 할 테이블 확인 후 execute 7. 리버스 엔지니어링 작업이 완료되면 next 후 finish 8. 만들어진 ERD 확인