IT/JAVA
-
초기화 블럭 (initialization block)IT/JAVA 2023. 1. 29. 22:38
개발하면서 익숙함에 속아 기본을 잊어버리곤 한다. 중요하게 생각하지 않았던 초기화 블럭에 대해서 정리한다. 초기화 블럭 1. 클래스 초기화 블럭 - 클래스 변수의 복잡한 초기화에 사용된다. - 인스턴스 초기화 블럭 앞에 단순히 static을 덧붙이기만 하면 된다. 2. 인스턴스 초기화 블럭 - 인스턴스변수의 복잡한 초기화에 사용된다. - 단순히 크래스 내에 블럭 {} 만들고 그 안에 코드를 작성하기만 하면 된다. ** 초기화 블럭 내에는 메서드 내에서와 같이 조건문, 반복문, 예외처리구문 등 자유롭게 사용하 수 있으므로, 초기화 작업이 복잡하여 명시적 초기화만으로 부족한 경우 초기화 블럭을 사용한다. class Block { static { System.out.println("static {}"); //..
-
JAVA - MD5, SHA256 암호화 하기 (해쉬 코드 얻기)IT/JAVA 2020. 6. 9. 12:31
특정 텍스트를 암호화하여 DB에 보관해야 하는 일들이 있습니다. 특히 패스워드 같은 것은 입력받은 문자 그대로 저장하는 것보다 암호화하여 저장하는 것이 보안을 더 높일 수 있으며, 많은 건수의 데이터들을 중복을 찾을 때 해시값으로 찾게 되면 조금 더 편리하게 이용할 수 있습니다. 암호화 또는 파일 무결성 검사 용도로 쓰이고 있는 MD5, SHA-256에 대해서 알아보도록 하겠습니다. MessageDigset Class java.security.MessageDigest 클래스를 사용하며, 해시 알고리즘에는 MD5, SHA-1, SHA-256 등이 있습니다. MessageDigest.getInstance(String algorithm) 메소드의 인수에 알고리즘 이름을 지정함으로써 해당 알고리즘에서 해시값을 ..
-
JAVA - 텔레그램 API 봇을 이용하여 메시지 보내기IT/JAVA 2020. 5. 8. 23:52
안녕하세요. 텔레그램 API 봇을 이용하여 메시지를 보내 보는 소스를 만들어 볼 예정입니다. 텔레그램 API 봇을 만들어, 그 봇을 대화방에 초대하면 서비스를 관리하거나, 보고를 자동화 할 수 있는 기능들이 나올 것 같아요. 무수히 많으므로, 요것들을 기초로 응용하여서 만드시면 될 것 같습니다. 1. @BotFather 호출 텔레그램 모바일 또는 웹을 통하여, 검색창에 'BotFather' 을 입력하여 검색합니다. 2. 시작 및 새로운 봇을 생성합니다. 1) /start 입력 2) /newbot /newbot을 입력하면, 첫번 째 질문으로는 name을 정하라고 나옵니다. 여기서의 name은 중복이 가능하고 변경도 가능하니 편하게 적으시면 됩니다. 두번 째 질문으로는 username을 정하라고 나옵니다. ..
-
JAVA - 로또 게임 만들기IT/JAVA 2020. 4. 28. 18:36
SK 고용디딤돌 JAVA 교육 중, 두번 째 과제는 '객체지향적으로 로또게임 만들기' 였네용ㅎㅎㅎㅎ 벌써 4년 전에 받았던 교육이지만, 이런걸 제가 했었다니 다시 프로그래밍에 대해서 다짐하게 되네요. 부끄럽슴당ㅎㅎ :) 소스는 이렇습니당. import java.util.Scanner; public class LottoGame { public static void main(String [] args) { Scanner sc = new Scanner(System.in); int[] user = new int[6]; int[] com = new int[6]; int count = 0; for(int i=0; i
-
JAVA - 가위바위보 만들기IT/JAVA 2020. 4. 28. 18:32
SK 고용디딤돌의 JAVA 교육 중, 가장 처음으로 했던 것이 'JAVA로 가위바위보 만들기' 였습니다ㅋ.ㅋ 지금보니까 너무 귀엽고 웃기네요. 네이버 블로그를 했을 때 네이버 블로그에 있던 글들을 하나씩 옮기다보니, 기억이 새록새록합니다ㅎㅎㅎ 벌써 4년 전이네요.. :( 코드는 이렇습니다. 혹시나 필요하실까 올려드립니당. import java.util.Scanner; public class GGB3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int CntTotal = 1; // 지금까지 총 횟수 int CntWin = 1; // 이긴 횟수 int CntLose = 1; // 진 횟수 int CntDraw ..
-
JAVA - 상속 및 인터페이스IT/JAVA 2020. 4. 28. 18:25
JAVA 에는 'extends - 상속' 과 'implements - 인터페이스를 구현'하는 것이 있습니다. 예시를 들기보다는 이번에는 기본에 대해서 SK고용디딤돌에서 배웠던 내용을 정리해보았습니다. 상속 자식(하위) 클래스가 부모(상위) 클래스의 맴버를 물려 받는 것 자식이 부모를 선택해 물려 받을 수 있다. 상속 대상 : 부모의 필드와 메소드 상속의 효과 부모 클래스 재사용해서 자식 클래스를 빨리 개발 가능하다. 반복된 코드의 중복을 줄인다. 유지 보수 편리성을 제공한다. 객체 다형성 구현이 가능하다. extends class 자식클래스 extends 부모 클래스 다중상속을 허용하지 않는 2 가지 같은 이름이 있어서 변수가 햇갈릴수 있어서. 베이스 부모를 어떤걸 해야할지 몰라서. 자식 객체 생성하..
-
JAVA - 클래스IT/JAVA 2020. 4. 25. 23:45
SK 고용디딤돌 직무 교육 시간에 배웠던 내용들을 다시 한번 읽어보며 정리해보았다. 요번에는 '클래스'에 대해서 다룰 것이며 자바의 기초라고 생각한다. 객체 지향 프로그래밍 OOP - Object Oriented Programing 객체가 중심이 되는 프로그래밍 부품 객체를 먼저 만들고 이것들을 하나씩 조립해 완성된 프로그램을 만드는 기법 객체란? 필드(속성, 변수)과 메소드(동작)으로 구성된 자바 객체로 모델링 가능 객체 = 관련된 변수/ 함수 묶음이라고 할 수 있다. - 관련된 변수/함수를 사용자 정의 type 이다. - 사용자정의 type 인데, 그것은 참조 type 이다. VOP - 변수 중심 FOP(절차지향) - 함수 중심 OOP(객체 지향) - 객체 중심 ex) 은행 이체 업무를 풀어본다면, ..
-
JAVA - 조건문과 반복문, 그리고 배열IT/JAVA 2020. 4. 25. 23:02
자바에서 가장 많이 사용하는 조건문과 반복문 그리고 배열에 대해서 내용을 정리 해 보려고한다. 아직 많이 부족하지만 조금 씩 정리하는 습관과 나의 지식으로 만드는 습관을 길러보자 :) 1. 조건식 true 또는 false 값을 산출할 수 있는 연산식 boolean 변수 조건식이 true 이면 블록 실행하고 false이면 실행하지 않음. 예) int i=0 if ( i == 0 ); { //true System.out.println("i는 0입니다.") } else { //false System.out.println("i는 0이 아닙니다.) } 2. 중첩 if 문 if() { ① s1 if() { ② s2 } else { ③ s3 } } else { ④ s4; } 조건문을 중첩으로 주어야 할 상황이 생긴다..