[Mac] java 버전 변경
·
Programming Languages/JAVA
1. 기존 자바 버전 확인 java -version 2. 현재 설치된 jdk 확인 - home에서 jdk경로로 이동 cd /Library/Java/JavaVirtualMachines/ - jdk 목록 확인 ls 3. 자바 17 설치 brew install openjdk@17 4. 버전 변경 zshrc에 내용 수정후 반영 (source)
[JAVA] 객체지향언어, 변수, 접근지정자
·
Programming Languages/JAVA
1. 객체 지향 언어 절차지향언어 → 객체기반 언어 → 일반 언어 → 객체지향언어 객체 - 추상적이든, 추상적이지 않든 정의를 내릴 수 있다면 객체. 하지만 너무 추상적이면 객체라고 할 수 없음 어떻게 표현하는가가 중요. = 추상화다. 💡 추상클래스는 객체를 못 만듦 object : 실세계에 존재하는 모든것. 단, 구체화되었을 때. object의 4대 특징 추상화 (가장 중요) - 어떻게 구체화를 하냐에 따라 좋은 객체가 될 수 있고 안 좋은 객체가 될 수 있음 - 추상적인것을 구체화 할 수 있는 거 캡슐화 - 알약의 알갱이를 DATA. 데이터를 보호하기 위해서, 데이터의 은닉 및 보호 - 데이터를 안정적으로 사용하기 위해서 캡슐화 사용 - 절차방식은 데이터를 안정적으로 사용하지 못함. - 문제가 생기면..
[JAVA] jdk 17, 이클립스 2022-12 설치 및 환경설정(path 설정)
·
Programming Languages/JAVA
1. jdk 17.0.5 설치 https://www.oracle.com/java/technologies/downloads/ 2. 환경 변수 설정 경로 : C:\Program Files\Java\jdk-17.0.5 현재 자바가 있는 것을 인식해라. 점은 현재 위치에서 인식 classpath .; 등록 JAVA_HOME C:\Program Files\Java\jdk-17.0.5 path %JAVA_HOME%\bin; path - 맨 위로 하는 것은 자바를 제일 먼저 인식시키기 위해서 (오라클보다 자바가 앞에 있어야 함) 설치가 완료되었는지 확인 cmd - javac ( java compile 명령어) jdk 버전 확인 tool 없이 메모장에서 작업 해보기 class Hello{ // class =객체 = o..
[스프링] Web server failed to start. Port 8080 was already in use
·
Programming Languages/JAVA
이미 8080포트를 사용중이라 서버를 동작시키지 못한다는 뜻 -> 포트번호 변경 src/main/resources → application.properties 아래 코드 추가 만약 application.properties클릭시 응답없음이 지속적으로 뜬다면 editor를 text Editor로 변경
[JAP] JAVA 직렬화, 역직렬화
·
Programming Languages/JAVA
▶ 직렬화 (Serialization) - Object의 데이터를 Binary 형태의 파일로 변환 - Object의 데이터를 하드디스크에 저장 1) FileOutputStream 생성 2) ObjectOutputStream 생성 3) 객체를 저장 4) ObjectOutputStream close - FileOutputStream(File file) : 파일을 선택하는 메소드로, 주어진 File 객체가 가리키는 파일을 쓰기 위한 객체를 생성 - ObjectOutputStream : 앞의 file을 저장을 하는 메소드 파일이 없으면 새로 생성, 파일이 있으면 덮어씌움 - .writeObject(저장하고 싶은거)로 저장 - objectOutputStream close필수. 안그러면 메모리 빠져나감 - 직렬할 ..
명품자바에센셜 9장 실습문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p385 1. JLabel 컴포넌트는 Mouse 이벤트를 받을 수 있다. JLabel 컴포넌트의 초기 문자열을 "자기야"라고 출력하고, 레이블에 마우스를 올리면 "사랑해"로, 내리면 "자기야"가 다시 출력되도록 프로그램을 작성하라. package ex_09; import java.awt.FlowLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JF..
명품자바에센셜 9장 이론문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p383~385 1. 자바의 이벤트 기반 프로그래밍에 대한 설명으로 틀린 것을 골라라. ① AWT나 스윙 응용프로그램은 이벤트 기반 프로그램이다. ② 이벤트 기반 프로그램에는 이벤트 분배 스레드가 존재한다. ③ 이벤트 리스너를 가진 컴포넌트만 이벤트를 처리할 수 있다. ④ 이벤트 리스너는 클래스로 작성하되 반드시 별도의 자바 파일로 작성해야 한다. -> ④ 이벤트 리스너는 익명 클래스나 내부 클래스 혹은 외부 클래스로 작성할 수 있으며, 외부 클래스의 경우 별도의 자바 ..
명품자바에센셜 8장 실습문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p350 1. 다음 그림과 같이 "Let's study Java"라는 문자열을 타이틀로 가지고 프레임의 크기가 400X200인 스윙프로그램을 작성하라. import javax.swing.JFrame; public class EXX_01 extends JFrame { public EXX_01(String title, int width, int height) { setTitle(title); setSize(width,height); setDefaultCloseOperatio..
명품 자바 에센셜 8장 이론문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p348 ~ 349 1. 다음 중에서 스윙 컴포넌트 클래스가 아닌 것은? ① Panel ② JFrame ③ JButton ④ JLabel -> ① 스윙 컴포넌트의 앞에는 J가 붙음 2. 다음 중에서 컴포넌트가 아닌 것은? ① Panel ② JFrame ③ Font ④ JPanel -> ③ Font 3. 다음 코드의 빈칸에 스윙 프로그램에 필요한 문을 삽입하라. import java.awt.*; import javax.swing.*; public class MyFramee..
[JAVA] <학생정보 출력 프로그램 - 21.02.08~21.02.20>
·
Programming Languages/JAVA
- 학과 -> 학과명, 학번 - 전화번호 -> 핸드폰, 집전화 - 이름 -> 이름 - 주소 -> 시/도, 나머지주소(동까지만), 집 유형(아파트, 빌라 등) 위의 네 가지를 받는 우리반 학생 정보(5명) 입력 후 서울사는 우리반 친구 이름 출력 컴시과 학생의 이름, 핸드폰번호 출력 아파트에 사는 학생의 이름, 학번 출력하는 프로그램 1. 학과 Department클래스 - 학과명 departName, 학번 departNumber 멤버 변수 생성 - 학과 생성자에 학과명, 학번을 매개변수로 받음 - 학과명, 학번 멤버 변수가 private이므로 접근 하기 위해 get메소드 사용 package tt.student; public class Department { //학과 private String departN..
명품자바에센셜 5장 이론문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p230-234 1. 다음 코드에 대해 물음에 답하라. class A { private int a, b; public void set(int a, int b) {this.a = a; this.b = b;} } class B extends A { protected int c, d; } class C extends B { public int e, f; } (1) A objA = new objA();에 의해 생성되는 객체 objA의 멤버들을 모두 나열하라. -> a, b, s..
[JAVA] 직각삼각형 출력
·
Programming Languages/JAVA
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); n = 5일 경우 for (int i = 0; i
[JAVA] 스윙부분 정리
·
Programming Languages/JAVA
1. My Frame import java.awt.BorderLayout; import javax.swing.JFrame; public class MyFrame extends JFrame { public MyFrame(String title, int width, int height) { this.setTitle(title); setSize(width, height); setLocationRelativeTo(this); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); //실행후 화면크기 변경 불가 //레이아웃 setLayout(new BorderLayout()); this.setVisible(true); } public static..
[JAVA] 피라미드 문자, 숫자
·
Programming Languages/JAVA
01 import java.util.Scanner; 02 public class T_01 { 03 04public static void main(String[] args) { 05Scanner sc = new Scanner(System.in); 06System.out.print("1번\n문자를 입력하세요>>"); 07 08String str = sc.next(); //문자열로 읽음 09char ch = str.charAt(0); //문자열의 첫 번째 문자 10 11for (char i = 'A'; i = i; j--) { 13System.out.print(" "); 14} 15 16for (char j = i; j >= 'A'; j--) { 17System.out.print(j + " "); 18} 19..
명품자바에센셜 4장 실습문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p184-188 1. 아래 실행결과와 같이 출력하는 다음 main()을 가진 Song클래스를 작성하라. 노래 제목 title 필드, 생성자, getTitle()메소드로 구성된다. public class Song { private String title; public Song(String title) { this.title = title; } public String getTitle() { return title; } public static void main(String..
명품자바에센셜 4장 이론문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p180 1. 자바의 클래스와 객체에 대한 설명 중 틀린 것은? ① 객체를 인스턴스라고도 부른다. ② 클래스는 객체를 생성하기 위한 틀이다. ③ 클래스는 필드와 메소드로 구성된다. ④ 클래스의 필드들은 private보다는 public으로 선언하는 것이 바람직하다. -> ④ public은 다른 클래스에서 마음대로 호출하거나 접근할 수 있도록 공개한다는 뜻이므로 클래스의 필드들은 비공개인 private로 선언하는 것이 바람직함 2. 생성자에 대한 설명 중 잘못된 것은? ① ..
명품자바에센셜 3장 실습문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p125 1. 영문 소문자를 하나 입력받고 그 문자보다 알파벳 순위가 낮은 모든 문자를 출력하는 프로그램 import java.util.Scanner; public class Ex_01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("알파벳 한 문자를 입력하세요>>"); String s = sc.next(); //문자열로 읽음 char c = s..
명품자바에센셜 3장 이론문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p123-125 1. while문을 가진 다음 프로그램에 대해 물음에 답하라. int i = 0 , sum = 0; while(i < 10){ i = i + 2; sum += i; } System.out.println(sum); (1) 무엇을 계산하는 프로그램이며, 실행결과는? : 0 ~ 10(2~ 10) 짝수의 합을 구하는 프로그램, 30 (2) 앞의 실행 결과와 동일한 실행 결과를 얻고자 할 때 다음 빈칸을 채워라. //(2)-1 //(2)-2 int ii = 0 ,..
명품자바에센셜 2장 실습문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p87 1. 두 정수를 입력받아 합을 구하여 출력하는 프로그램을 작성. 키보드 입력은 Scanner 클래스를 이용 import java.util.Scanner; public class Ex_1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("두 정수를 입력하세요>>"); int a = sc.nextInt(); int b = sc.nextInt()..
명품자바에센셜 2장 이론문제
·
Programming Languages/JAVA
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다. 부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다! 출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p85~86 1. 자바에서 클래스를 선언할 때 사용하는 키워드는? : class 2. 다음 중 식별자 사용이 잘못된 경우를 모두 골라라. int _i; int %j; char 안녕; double 1var; char student_ID; : int %j; ->p53. 특수문자는 '_' , '$'만 가능 double 1var; -> p53. 식별자의 첫 번째 문자로 숫자는 사용할 수 없음. 문자가 먼저 나와야 함 3. 다음 각 항목이 나타는 변수를 선언하라. (1) int형..
[Java] 스레드 종료
·
Programming Languages/JAVA
스레드를 종료하는 방법은 두가지 : 스스로 종료하는 방법과 강제로 종료하는 방법 - 스스로 종료를 할 때는 Run메소드가 종료되거나 사진처럼 리턴하는 경우 종료. - 강제종료는 종료시키고자 하는 스레드 객체의 인터럽트 메소드를 호출하면 됨. 사진처럼 메인은 타이머스레드를 생성하고 강제로 종료시키기 위해서 th.인터럽트를 호출. 이 결과 th가 가리키는 타이머스레드에 인터럽티드익셉션예외가 발생함. [예제] 진동하는 프레임을 클릭하면 진동 멈춤 package vibration; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.Random; import javax.swing.JFrame; public ..
[JAVA X DB ] DB메소드, 로그인 창
·
Programming Languages/JAVA
// DB 다른 곳에서 사용하기 편리하게 만든 클래스와 메소드들package db.login;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DB { public static Connection conn; //다른 곳에서도 써야 해서 public public static Statement stmt; //DB 연결 메소드 public static void init() { //어디서든지 사용 가능하게 static // 1. 오라클드라이버 설치 try { // 1. 오라클드라이버 설..
[JAVA] 이미지아이콘 크기 조절
·
Programming Languages/JAVA
ImageIcon icon = new ImageIcon("image/우산_일러스트_08.jpg"); //이미지아이콘 객체를 생성 Image img = icon.getImage(); //변경할이미지 = 변경할아이콘.getImage(); 이미지아이콘을 이미지로 변환 Image changeImg = img.getScaledInstance(200, 150, Image.SCALE_SMOOTH); //추출된 이미지의 크기를 조절하여 새로운 이미지 객체 생성 ImageIcon changeIcon = new ImageIcon(changeImg); //새로운 이미지로 이미지아이콘 객체를 생성 JLabel imageLabel = new JLabel(changeIcon); //JLabel imageLabel = new JL..
[JAVA X DB]
·
Programming Languages/JAVA
☞ JDBC (Java DataBase Connectivity) = 자바에 데이터에비스에 저장된 데이터를 연결(접근 및 조작)할 수 있게 하는 API JDBC드라이버 매니저가 자바응용프로그램과 오라클이든, MySQL JDBC드라이버를 연결해줌 오라클깔면서 생긴 Run SQL Command Line에 들어간다. 1. 관리자 권한으로 접속 : conn / as sysdba 2. 유저 확인 : show user 3. 사용자 생성 : create user temp identified by 1234; - 사용자 : temp, 비밀번호 : 1234. 4. 처음에 사용자가 만들어지면 락이 걸려있으므로 락 해제 : alter user temp account unlock; 5. 사용자가 여러 동작(연결, 리소스 사용)을..