7일차(6/15목)
<용어정리>
devops
소프트웨어 개발과 IT 운영을 통합하여 조직 내에서 개발, 테스트, 배포 및 운영 프로세스를 더욱 효율적으로 수행하는 방법론 및 문화
형변환은 왜 써야하는가?
java에서 double과 float은 일반적으로 함께 쓸 수 없구나!
명시적 형변환을 거쳐야한다.
double d = 3.14159;
float f = (float) d;
System.out.println(f);
형 변환의 종류
- 암시적 형변환(자동 형변환)
- 자동으로 수행되는 형변환
- 작은 크기의 데이터 타입을 큰 크기의 데이터 타입으로 변환할 때 발생
- 명시적 형변환(강제 형변환)
- 프로그래머가 직접 형변환을 지정해야 하는 형변환
- 명시적 형변환은 큰 크기의 데이터 타입을 작은 크기의 데이터 타입으로 변환할 때 발생
- 객체 간의 형변환이 일어날 때도 발생한다.
- 클래스 간에 형변환을 수행할 때, 부모 클래스를 자식 클래스로 형변환할 수 있다.
![](https://velog.velcdn.com/images/jja6312/post/dea3b330-1025-4b9b-ae78-91920e02935b/image.png)
- 클래스란, 설계도. 클래스를 통해 다양한 객체를 만들어낼 수 있다.
- 객체란, 속성과 메서드로 이루어진 현실의 기능을 구현하기 위한 방법.
- 속성이란, 객체의 특징과 같은 것.
- 메서드란, 메서드는 객체가 수행하는 작업이나 동작을 정의하는 코드의 블록. 객체의 동작을 구현하고, 코드의 재사용성과 모듈화를 통해 데이터 용량을 최적화하고 성능을 개선할 수 있다.
MySql
관계형 데이터베이스를 배우고있다.
근데? 객체지향이 방법이 되게 좋더라.
여기에 객체지향을 집어넣었다.
⇒ 객체형 관계 데이터베이스
java ⇒ 객체지향 프로그래밍언어
![](https://velog.velcdn.com/images/jja6312/post/19860543-15d8-44a0-85a2-451c6f082d1a/image.png)
CREAT TABLE
“컬럼이름” int
NOT NULL
PRIMARY KEY
“컬럼이름” VARCHAR(숫자)
- VARCHAR 타입의 ‘컬럼’ 생성
- CHAR ⇒ 일반적인 문자열 데이터
- VARCHAR ⇒ 가변 길이의 문자열 데이터
![](https://velog.velcdn.com/images/jja6312/post/2c170519-e5f1-46b7-9429-ac655ef27beb/image.png)
ALTER TABLE (테이블 구조의 변경/수정)
ADD CONSTRAINT (테이블에 새로운 제약조건 추가)
FOREIGN KEY (외래키)
- 데이터베이스에서 테이블 간의 관계를 구성하고 유지하는 데 사용되는 중요한 개념
REFERENCES (참조)
“ 테이블이름 ”( 컬럼 )
order by
![](https://velog.velcdn.com/images/jja6312/post/629e788b-96f3-4508-96a3-9b408021a41b/image.png)
![](https://velog.velcdn.com/images/jja6312/post/3bd566a8-4b13-496d-9052-1c1f4f937497/image.png)
![](https://velog.velcdn.com/images/jja6312/post/b7535df0-149e-4721-a220-fcc32c4781c7/image.png)
as
as 뒤에 붙는 단어를 선언.
![](https://velog.velcdn.com/images/jja6312/post/598c9bb0-c57b-428d-8821-c73655b80888/image.png)
group by
![](https://velog.velcdn.com/images/jja6312/post/f6c21ecd-acd6-4fe7-b7be-90c2eee272d9/image.png)
그룹을 지어 보는 것.
![](https://velog.velcdn.com/images/jja6312/post/c4899619-61d0-480a-b246-122bc5ca19fb/image.png)
(group by에서의 조건을 주고싶으면 !!!)
having
![](https://velog.velcdn.com/images/jja6312/post/524430d8-7066-4550-8d53-b24029eee47f/image.png)
연산 연습
![](https://velog.velcdn.com/images/jja6312/post/1feb0ea2-68ef-4b77-8471-f96ad7fe64a6/image.png)
![](https://velog.velcdn.com/images/jja6312/post/14fe7cf0-b7ba-4f00-8f77-298209a23bb7/image.png)
MySql 내장함수
- sum
- count
- coalesce
- 커미션이 NULL인 경우에는 0으로 대체
![](https://velog.velcdn.com/images/jja6312/post/a7261b7c-8204-4714-b97d-d72788b8ad27/image.png)
Java
반환 유형이 있는 메서드
-
String, int ,boolean과 같은 자료형을 정의함.
-
메서드 내부의 마지막 행에 return 키워드를 사용하여 메서드명 앞의 자료형과 동일한 값을 반환함.
-
입력이 없고 출력이 있는 메서드
데이터타입 String의 메서드 활용
![](https://velog.velcdn.com/images/jja6312/post/23100ad9-4dd1-44cd-bb1a-e02c623134d6/image.png)
- public static 메서드() 란?
-
공개 정적 메서드.
- 클래스의 정적 메서드 중, 외부서 접근 가능하도록 공개된 메서드
public
-
공개(public) 접근 제한자는 해당 메서드를 다른 클래스나 패키지에서도 접근할 수 있도록 허용합니다. 이는 메서드가 다른 클래스에서 필요한 기능을 제공하거나 외부에서 호출되어야 하는 경우에 유용합니다.
static
-
해당 메서드가 인스턴스에 종속되지 않고 클래스 수준에서 동작한다는 것을 나타냅니다.
-
따라서 클래스의 인스턴스 생성 없이도 정적 메서드를 호출할 수 있습니다.
void
- 메서드의 반환 유형(return type)을 나타내는 키워드
- void는 "공허한" 또는 "없는"이라는 의미
- 메서드가 어떠한 값을 반환하지 않음을 나타냅니다
- 즉,
void
반환 유형을 가지는 메서드는 실행 결과로 값을 반환하지 않고, 단순히 작업을 수행하고 종료
- 그렇다면, void는 return을 썼을때 에러가 날까?
데이터타입 int의 메서드 활용
![](https://velog.velcdn.com/images/jja6312/post/a69621d3-4625-4c9e-be21-1a6ce3c2273a/image.png)
- int는 return값이 필요하구나 !
- void는 return이 필요없구나 !7
소프트웨어 개발과 관련된 다양한 측면을 시각적으로 표현하고 이해하기 위해 사용되는 도구
- 순서도(Flowchart)
- 액티브다이어그램(Dynamic diagram)
다형성
메서드 오버로딩(다형성의 방법 중 하나.)
- 메서드 명이 같지만 매개변수가 다른 메서드를 하나의 메서드 명으로 정의하는것.
- ( = 하나의 클래스 안에서 서로 다른 메서드인데 이름이 같다.)
- 매개변수 수나 타입이 다르다.
- 그러면 그 이름에 따라 호출되는게 여러가지 방법으로 호출이 된다.
- 예를들어, 메서드 명이 같지만!
-
매개변수의 자료형이 다른 경우
-
매개변수의 개수가 다른 경우
![](https://velog.velcdn.com/images/jja6312/post/0df5e65c-ecfd-4d26-9c4a-9bf6df543819/image.png)
예시 2
![](https://velog.velcdn.com/images/jja6312/post/25a66a1a-f570-491a-a189-f389eee6bf16/image.png)
배열
배열도 데이터타입을 정해줘야한다!
정수형 배열
실수형 배열
…
![](https://velog.velcdn.com/images/jja6312/post/b11427a4-0ffa-4252-bb4d-5c1fb36e7efc/image.png)
-
배열을 사용할 때 알아두어야할 사항
- 모든 배열은 동적으로 할당됨
- 배열의 길이는 .length로 계산함
- 배열의 변수는 자료형 뒤에 대괄호 [ ] 를 사용하여 다른 변수와 함께 선언 가능
- 배열 내부의 변수는 인덱스 0 부터 시작함
- 배열은 정적 필드, 지역 변수 또는 메서드 매개변수로도 사용 가능함.
- 배열의 크기는 long이나 short가 아닌 int 값으로 지정해야 함
- 배열의 슈퍼 클래스는 Object임
- Cloneable 및 java.io.Serializable 인터페이스는 배열로 구현됨.
-
인덱스 오류
- 한계를 벗어난 인덱스에 접근(액세스)하려고 시도할 때 발생하는 오류
- 예) 배열의 길이가 5인 프로그램
- 0~4사이 배열 인덱스가 사용 가능
- 프로그램이 이 범위 밖의 요소에 액세스하려고 시도할 때 인덱스 오류 발생
-
1차원 배열
- 단일 인덱스를 사용하여 요소를 저장함
- 인덱스를 1씩 증가시키면 배열의 모든 요소를 얻을 수 있음. ⇒ 그냥 for문으로 lengh만큼 찍으면 모든 요소를 확인할 수 있겠다는 말이네
확장형 for문
- 배열을 일괄적으로 불러내거나, 처리하고 싶을 때
![](https://velog.velcdn.com/images/jja6312/post/2566aab6-3ee7-4cdc-bf65-cddcb9ae460d/image.png)
![](https://velog.velcdn.com/images/jja6312/post/de03025b-368c-421a-9cfc-ec862ca78096/image.png)
확장형 for문 예시1