[JAVA] 객체지향언어, 변수, 접근지정자
1. 객체 지향 언어절차지향언어 → 객체기반 언어 → 일반 언어 → 객체지향언어객체 - 추상적이든, 추상적이지 않든 정의를 내릴 수 있다면 객체.하지만 너무 추상적이면 객체라고 할 수 없음어떻게 표현하는가가 중요. = 추상화다.💡 추상클래스는 객체를 못 만듦 object : 실세계에 존재하는 모든것. 단, 구체화되었을 때.object의 4대 특징 추상화 (가장 중요)- 어떻게 구체화를 하냐에 따라 좋은 객체가 될 수 있고 안 좋은 객체가 될 수 있음- 추상적인것을 구체화 할 수 있는 거 캡슐화- 알약의 알갱이를 DATA. 데이터를 보호하기 위해서, 데이터의 은닉 및 보호- 데이터를 안정적으로 사용하기 위해서 캡슐화 사용- 절차방식은 데이터를 안정적으로 사용하지 못함.- 문제가 생기면 바로 알 수 있음...
Programming/JAVA
[JAVA] jdk 17, 이클립스 2022-12 설치 및 환경설정(path 설정)
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.5path %JAVA_HOME%\bin;path - 맨 위로 하는 것은 자바를 제일 먼저 인식시키기 위해서 (오라클보다 자바가 앞에 있어야 함) 설치가 완료되었는지 확인 cmd - javac ( java compile 명령어)jdk 버전 확인tool 없이 메모장에서 작업 해보기 class Hello{ // class =객체 = object =..
Programming/JAVA
[JAVA ] 직렬화, 역직렬화
▶ 직렬화 (Serialization)- Object의 데이터를 Binary 형태의 파일로 변환- Object의 데이터를 하드디스크에 저장 1) FileOutputStream 생성2) ObjectOutputStream 생성3) 객체를 저장4) ObjectOutputStream close - FileOutputStream(File file) : 파일을 선택하는 메소드로, 주어진 File 객체가 가리키는 파일을 쓰기 위한 객체를 생성- ObjectOutputStream : 앞의 file을 저장을 하는 메소드 파일이 없으면 새로 생성, 파일이 있으면 덮어씌움 - .writeObject(저장하고 싶은거)로 저장- objectOutputStream close필수. 안그러면 메모리 빠져나감 - 직렬할 클래스에..
Programming/JAVA
명품자바에센셜 9장 실습문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057p3851. JLabel 컴포넌트는 Mouse 이벤트를 받을 수 있다. JLabel 컴포넌트의 초기 문자열을 "자기야"라고 출력하고, 레이블에 마우스를 올리면 "사랑해"로, 내리면 "자기야"가 다시 출력되도록 프로그램을 작성하라.package ex_09;import java.awt.FlowLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;impo..
Programming/JAVA
명품자바에센셜 9장 이론문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p383~3851. 자바의 이벤트 기반 프로그래밍에 대한 설명으로 틀린 것을 골라라.① AWT나 스윙 응용프로그램은 이벤트 기반 프로그램이다.② 이벤트 기반 프로그램에는 이벤트 분배 스레드가 존재한다.③ 이벤트 리스너를 가진 컴포넌트만 이벤트를 처리할 수 있다.④ 이벤트 리스너는 클래스로 작성하되 반드시 별도의 자바 파일로 작성해야 한다.-> ④ 이벤트 리스너는 익명 클래스나 내부 클래스 혹은 외부 클래스로 작성할 수 있으며, 외부 클래스의 경우 별도의 자바 파일에 작성할 ..
Programming/JAVA
명품자바에센셜 8장 실습문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057p3501. 다음 그림과 같이 "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); setDefaultCloseOperation(..
Programming/JAVA
명품 자바 에센셜 8장 이론문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057p348 ~ 3491. 다음 중에서 스윙 컴포넌트 클래스가 아닌 것은?① Panel ② JFrame ③ JButton ④ JLabel-> ① 스윙 컴포넌트의 앞에는 J가 붙음2. 다음 중에서 컴포넌트가 아닌 것은?① Panel ② JFrame ③ Font ④ JPanel-> ③ Font3. 다음 코드의 빈칸에 스윙 프로그램에 필요한 문을 삽입하라.import java.awt.*;import javax.swing.*;public class MyFrameextends extend..
Programming/JAVA
[JAVA] 학생정보 출력 프로그램
- 학과 -> 학과명, 학번- 전화번호 -> 핸드폰, 집전화- 이름 -> 이름- 주소 -> 시/도, 나머지주소(동까지만), 집 유형(아파트, 빌라 등) 위의 네 가지를 받는 우리반 학생 정보(5명) 입력 후 서울사는 우리반 친구 이름 출력컴시과 학생의 이름, 핸드폰번호 출력아파트에 사는 학생의 이름, 학번 출력하는 프로그램1. 학과 Department클래스- 학과명 departName, 학번 departNumber 멤버 변수 생성- 학과 생성자에 학과명, 학번을 매개변수로 받음- 학과명, 학번 멤버 변수가 private이므로 접근 하기 위해 get메소드 사용package tt.student;public class Department { //학과 private String departName; //학과명 ..
Programming/JAVA
명품자바에센셜 5장 이론문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057p230-2341. 다음 코드에 대해 물음에 답하라.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, set(2) A ob..
Programming/JAVA
[JAVA] 직각삼각형 출력
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); n = 5일 경우for (int i = 0; i 왼쪽 역 직각 삼각형>for (int i = 0; i i; j--) { System.out.print("*"); } System.out.println(); }for (int i = 0; i = n) System.out.print(" "); else System.out.print("*"); } System.out.println(); }for (int i = 0; i for (int i = 0; i
Programming/JAVA
[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 stati..
Programming/JAVA
[JAVA] 피라미드 문자, 숫자
01 import java.util.Scanner;02 public class T_01 {0304 public static void main(String[] args) {05 Scanner sc = new Scanner(System.in);06 System.out.print("1번\n문자를 입력하세요>>");07 08 String str = sc.next(); //문자열로 읽음09 char ch = str.charAt(0); //문자열의 첫 번째 문자10 11 for (char i = 'A'; i = i; j--) {13 System.out.print(" "); 14 }15 16 for (char j = i; j >= 'A'; j--) {17 System.out...
Programming/JAVA
명품자바에센셜 4장 실습문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p184-1881. 아래 실행결과와 같이 출력하는 다음 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(Str..
Programming/JAVA
명품자바에센셜 4장 이론문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p1801. 자바의 클래스와 객체에 대한 설명 중 틀린 것은?① 객체를 인스턴스라고도 부른다.② 클래스는 객체를 생성하기 위한 틀이다.③ 클래스는 필드와 메소드로 구성된다.④ 클래스의 필드들은 private보다는 public으로 선언하는 것이 바람직하다.-> ④ public은 다른 클래스에서 마음대로 호출하거나 접근할 수 있도록 공개한다는 뜻이므로 클래스의 필드들은 비공개인 private로 선언하는 것이 바람직함2. 생성자에 대한 설명 중 잘못된 것은?① 한 클래스에 여러 ..
Programming/JAVA
명품자바에센셜 3장 실습문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p1251. 영문 소문자를 하나 입력받고 그 문자보다 알파벳 순위가 낮은 모든 문자를 출력하는 프로그램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 = ..
Programming/JAVA
명품자바에센셜 3장 이론문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p123-1251. while문을 가진 다음 프로그램에 대해 물음에 답하라.int i = 0 , sum = 0; while(i (1) 무엇을 계산하는 프로그램이며, 실행결과는?: 0 ~ 10(2~ 10) 짝수의 합을 구하는 프로그램, 30 (2) 앞의 실행 결과와 동일한 실행 결과를 얻고자 할 때 다음 빈칸을 채워라. //(2)-1 //(2)-2int ii = 0 , summ = 0; int j = 0 , suum = 0; ..
Programming/JAVA
명품자바에센셜 2장 실습문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057 p871. 두 정수를 입력받아 합을 구하여 출력하는 프로그램을 작성. 키보드 입력은 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.nextIn..
Programming/JAVA
명품자바에센셜 2장 이론문제
도서 생능출판 황기태님의 '명품자바에센셜' 보면서 공부한 내용입니다.부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!출처 : https://www.booksr.co.kr/html/book/book.asp?seq=697057p85~861. 자바에서 클래스를 선언할 때 사용하는 키워드는?: class2. 다음 중 식별자 사용이 잘못된 경우를 모두 골라라. int _i; int %j; char 안녕; double 1var; char student_ID;: int %j; ->p53. 특수문자는 '_' , '$'만 가능 double 1var; -> p53. 식별자의 첫 번째 문자로 숫자는 사용할 수 없음. 문자가 먼저 나와야 함3. 다음 각 항목이 나타는 변수를 선언하라.(1) int형 변수 age (..
Programming/JAVA
[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 class Vibr..
Programming/JAVA
[JAVA] URL, 서버, 클라이언트
// URL//utf-8 파일package network;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;public class URLRead { public static void main(String[] args) { try { URL url = new URL("https://www.naver.com/"); BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); String..
Programming/JAVA
[JAVA] DB메소드, 로그인 창
// 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. 오라클드라이버 설..
Programming/JAVA
[JAVA] Oracle 삽입, 삭제, 수정, 조회
// DB 연결try { // 1. 오라클드라이버 설치 Class.forName("oracle.jdbc.driver.OracleDriver"); // 오라클 드라이버 // Class.forName("com.mysql.cj.jdbc.Driver"); //mysql드라이버 // ws에서 mr - 빌드패스 - ... // 2. 드라이버 매니저 연결 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost::XE", "", ""); // 오라클 // 1521: 포트번호 Statement stmt = conn.createStatement(); // 얘는 멤버로 해야 이 클래스의 다른 곳에서도 사용 가능 /..
Programming/JAVA
[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 JLabel(ic..
Programming/JAVA
[JAVA] JDBC 연동 방법
☞ JDBC (Java DataBase Connectivity)= 자바에 데이터에비스에 저장된 데이터를 연결(접근 및 조작)할 수 있게 하는 APIJDBC드라이버 매니저가 자바응용프로그램과 오라클이든, MySQL JDBC드라이버를 연결해줌오라클깔면서 생긴 Run SQL Command Line에 들어간다.1. 관리자 권한으로 접속 : conn / as sysdba 2. 유저 확인 : show user3. 사용자 생성 : create user temp identified by 1234; - 사용자 : temp, 비밀번호 : 1234.4. 처음에 사용자가 만들어지면 락이 걸려있으므로 락 해제: alter user temp account unlock;5. 사용자가 여러 동작(연결, 리소스 사용)을 할 수 있는 ..
Programming/JAVA