-
(국비교육) 15 - 인터페이스 + 다중상속 + jar 파일 실행 + 이클립스 파일 보내기 + Maria DB + 파이썬개발/국비교육 2023. 6. 21. 17:30
■ 인터페이스 (+히어로 만들기_p. 370)
JAVA는 단일 상속만 가능하다. 즉 두개의 부모가 불가능하다.
따라서 다중 상속 하기 위해 인터페이스를 이용한다.
인터페이스는 추상 메소드만 들어간다.
abstract class Hero{ ----------> 추상 클래스 : 인스턴스 x, 상속용도로만 존재
String name;
public abstract void attack(); ---------> 추상 메소드 : 상속 받는 자식들은 강제로 구현}
아이언맨을 추상 클래스로 만들어도 되지만,
우리는 히어로의 객체를 만들어야 함으로 미구현된 메소드를 실행
부모 클래스에서는 매개변수 받지 않았지만 자식 변수에서는 받았기 때문에 오류가 난다.
따라서 삭제처리 하면 오류가 사라진다.
인터페이스는 클래스의 종류이지만 객체 생성 불가능하다.
상속 용도로만 쓰인다.
인터페이스에는 상수도 입력 가능하다.
상수는 대문자로 표기하고 변하지 않는 값이므로 static final 을 넣어준다.
※ 기울어진 단어 : 앞에 static 붙으면 기울어짐
인터페이스 안에는 어차피 추상 메소드만 오게 되니 abstract 은 빼준다.
상속받고 인터페이스를 구현해주면 된다.
extends Hero implements Do, Fly
클래스는 단일, 인터페이스는 다중 상속이 가능하다.
다중 상속을 하기 위해서는 implements 뒤에 interface 를 , 로 구분하여 넣어주면 사용 가능하다.
hulk 는 fly 에 대한 메소드가 없기 때문에 불가능하다.
* 추상 클래스 : 추상 메소드가 하나라도 있거나 class 앞에 abstract 를 붙인 것
인스턴스 생성을 위해 존재하는 것이 아니라 상속에서 부모 용도로 존재하기 위해서 만들어 준 것.* 추상 메소드 : 바디 { } 가 없는 메소드 = 구현부가 없습니다.
리턴 타입 앞에 abstract 를 붙여줍니다.
public abstract void print();* 인터페이스 : 상수 + 추상 메소드
다중 상속이 가능합니다.
외부와 연결하는 통로 역할을 합니다.■ 인터페이스 만들어보기 (+리모컨)
어차피 인터페이스 안에는 상수와 추상 메소드 임으로 static final 과 abstract 생략 가능하다.
■ 외부로 java 파일 빼기 + 가져오기 (컴퓨터 이동 시)
* 파일 빼기
project 오른쪽 버튼 -> Export
Archive File(압축파일) -> Next
Browse 를 통해 저장할 곳 지정해서 압축파일로 저장
* 파일 가져오기
import -> 2번째 클릭 후 -> Next
Select archive file 을 통해 압축 파일 선택
* jar 실행 형태로 내보내기
Rnnable JAR file 을 통해 프로그램 실행 형태로 내보낼 수 있다.
* 외부에서 jar 파일 가져와서 실행해보기 (하단 첨부사이트 jini 파일 다운로드 후 참고)
들어갈 project 오른쪽 클릭 -> Build Path -> Configure Build Path
Libraries -> Classpath -> Add External JARs -> 넣고자 하는 파일 선택
JiniMaker 클래스를 하나 만들어서 해당 실행 파일 실행이 가능하다.
단 지니 파일의 경우, package 네임을 package com.poseidon.jini 동일하게 해줘야 실행가능 하니 참고하자
※ 해당 사이트에서 jini 검색 후 다운받으면 된다.
* java 파일 받고 이클립스에 넣는 방법
다운로드 받은 java 파일 폴더로 가서 해당 파일을 Ctrl + c 하여 저장될 패키지에 Ctrl + v 처리한다.
■ is a / has a
- is a : ~은 ~ 입니다.
- has a : ~은 ~를 가집니다.클래스는 다른 클래스를 내부 객체로 사용될 수 있다. (내부 구성요소)
https://dev-coco.tistory.com/142
■ % 활용문 참고
■ 정보처리기사 실기문
1.
2.
c = b % 5 < 5 ? 1 : 0; 은
9 % 5 의 나머지는 4이기 때문에 true 이다.
따라서 c의 갑은 1이 된다.
아래는 1 | 1 << 3 인데 왼쪽으로 3칸이동으로
1과 1000 을 논리합 하면 된다.
논리합은 하나라도 1이 있으면 1 이다.
0001
1000
-------
1001 -----> c 는 9 가 된다.
a < 5 || c > = 10
거짓 거짓
하나라도 참이면 참 아니면 거짓
따라서 c+a 를 하면 된다.
9 + 5 = > 14 이다.
3.
4.
Sub Object
Super Object
5.
p = n 넣으면 정상 실행
어떤 자연수가 있을 때 그 자연수보다 작거나
같은 자연수들의 곱이 그 원래의 수가 되면 그 작은 수들을 약수라고 해요.
예를 들어 6은 1,2,3,6을 약수로 가져요.
이때, 1과 자기 자신 만을 약수로 가지는 수들을 소수라고 합니다.https://chobopark.tistory.com/274
■ Maria DB 다운받기
Maria DB 사이트에서 MS office 로 다운받기
HeidiSQL 실행
신규 버튼을 누르고 호스트 127.0.0.1 (내 컴퓨터) 부르고
사용자에 내가 초기에 설정했던 암호를 입력하고 열면 된다.
MySQL Client를 클릭한다.
maria db pw 치면 아래와 같이 문구가 뜨고
show databases; 를 친다
그러면 HeidiSQL 화면에 보이는 Database 4개를 확인할 수 있다.
show tables; 를 하게 되면 HeidiSQL 화면에 보이는 table 확인 가능하다.
select * from ALL_PLUGINS; 를 입력하게 되면 HeidiSQL 화면에 보이는 전체 내용이 출력된다.
하지만 이는 보기 불편함으로 HeidiSQL 로 실습할 예정이다.
※ 화살표 위에 키를 누르면 위에 쳤던 내용을 다시 불러온다.
※ 윈도우에서 구동되고 실행되는 것 찾기
※ Maria DB 다운링크
■ DB / DBMS / SQL
- 데이터베이스(Database, DB)란? : 데이터의 저장소.
- DBMS(Database Management System, 데이터베이스 관리 시스템)란? 데이터베이스를 운영하고 관리하는 소프트웨어.
- 계층형, 망형, 관계형 DBMS 중 대부분의 DBMS가 테이블로 구성된 관계형 DBMS(RDMBS)형태로 사용됨.
- SQL(Structured Query Language)란? 구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어. 표준 SQL을 배우면 대부분의 DBMS를 사용할 수 있음.
* DB 명령어 첨부파일 참고
■ HeidiSQL 사용해보기
데이터베이스생성
CREATE DATABASE dbname;
데이타베이스 사용 선언
USE dbname;
데이터베이스 목록
SHOW DATABASES;
테이블 생성
CREATE TABLE tablename (
column_name1 INT,
column_name2 VARCHAR(15),
column_name3 INT
);
※ -- 표시는 주석으로 만든다.
※ VARCHAR = STRING 과 같다.
* 에러해결
TABLE human 생성 시 choongang 을 선택하고 생성해줘야 한다.
나의 경우 information_schema 선택 후 생성을 시도해서 에러가 떴다.
쿼리에서 INSERT INTO human VALUES () 형태에 맞게 정보 입력하고
데이터 탭에서 F5 를 누르면 업데이트 된 내용이 저장된다.
형태에 맞지 않게 입력하면 다음과 같이 오류가 뜨니 조심하자
출력
SELECT col1, col2, ... FROM tablename;
: * 뒤에 들어오는 테이블 정보 모두 가져와
SELECT human_name FROM human;
: human 테이블에서 이름만 가져와
human 테이블에서 이름이 홍길동인 사람의 이름만 가져와
이름이 홍길동인 사람의 모든 정보 가져와
OR : || 와 동일
데이터 삭제
DELETE FROM human WHERE human_age < 200;
조건
삭제처리 하니 SELECT 해봐도 아무것도 나오지 않는다.
테이블삭제
DROP TABLE human;
데이터 베이스 삭제
DROP DATABASE choongang;
■ 파이썬
파이썬 실습을 아래 페이지에서 연습할 수 있다.
파이썬에서 * 는 반복의 의미로 사용 가능하다.
따라서 문자열 * 2 를 하면 문자열을 2번 반복한다.
길이는 len() 를 통해 확인 가능하다
0번째 문자 출력 : t
txt[ 0 : 나오고자 하는 배열+1 ]
* 파이썬 % 활용
https://www.onlinegdb.com/online_python_compiler
* 요청사항
- UTF8 이란??
- TCP
- IPv4 / IPv6
'개발 > 국비교육' 카테고리의 다른 글