본문 바로가기

Java

(24)
240216 JAVA 옵셔널 공부하기 https://youtu.be/W_kPjiTF9RI?si=qrvIm_TJFy_zidyD Optional 은 를 가지고 있는 래퍼 클래스 모든 종류, 어떤 타입인 변수도 가질 수 있음 -> null 도 저장할 수 있음 Optional 이 필요한 이유 null 을 직접 다루는 것은 위험 -> NullPointerException 이 발생할 수 있음 객체 안에 담아 간접적으로 null 을 다루기 위함 값의 null 을 체크하기 위해서는 if 문을 사용해야 해서 코드가 지저분해짐 -> 간접적으로 다룰 필요가 있음 Object result = getResult(); 이런 메소드가 있는데 Optional 에 담긴 값의 타입으로 Object 가 결정됨 반환값 null 객체 만약 result 로 무엇인가 작업을 하려고..
240123 HTML 홈페이지 만들기 Servlet 생성 시 나오는 항목들 알아보기 super() 는 어떤 역할일까 MyInfo 페이지에 자신이 봤던 글 목록 출력하기 - 아직 LIMIT 은 안해둠 내가 DTO 는 BoardDTO 그대로 가져가도 충분하여 BoardDTO 로 사용한 것과 선생님이 Map 으로 그냥 만든 것 두가지 // 자신이 읽은 글 목록 출력하기, 내가 만든 것 List readList = bdao.readList((String)session.getAttribute("mid")); request.setAttribute("readList", readList); // 자신이 읽은 글 목록 출력하기, 선생님이 해주는 거 List readData = dao.readData(dto); request.setAttribute("read..
240111 홈페이지 만들기 기존에 만들었던 홈페이지를 다시 만들어보면서 기능은 조금씩 다르게 구현하는 중 삭제, 수정 등 jsp 에서 바로 사용하던 것을 Servlet 으로만 사용해보기, Servlet 에서도 if 를 사용하여 에러 제거해보기 public class Util { // String 을 int 로 변경 public static int str2Int(String str) { StringBuffer sb = new StringBuffer(); // String s = ""; for(int i = 0; i < str.length(); i++) { if (Character.isDigit(str.charAt(i))) { sb.append(str.charAt(i)); } } return Integer.parseInt(sb.toS..
240103 Java 금일 수업 내용 : Thread package com.poseidon.thread; // 24-01-03 // 남은 것 : Thread, IO, Net, GUI // 이후, 프로젝트 제작 (Java, DB 중 택) /* * 프로세스 : 운영체제에서는 실행 중인 하나의 어플리케이션을 프로세스라고 함 * 사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 * 애플리케이션의 코드를 실행하는 것이 프로세스 * 스레드 : 운영체제는 두가지 이상의 작업을 동시에 처리하는 멀티 태스킹을 할 수 있도록 * CPU 및 메모리 자원을 프로세스마다 적잘히 할당하고 병렬로 실행 * * 스레드 생성과 실행 * 1. Runnable 인터페이스를 구현하는 방법 * * 2. Thread 클래스를 상속받는 ..
231221 Java 금일 첫 교시는 프로그래머스 콜라 문제 class Solution { public int solution(int a, int b, int n) { int answer = 0; Cola cola = new Cola(); answer = cola.bottle(a,b,n); // while (n >= a) { // answer = answer + n / a * b; // n = (n / a) * b + (n % a); // } // 재귀 함수 없으면 반복문으로 해결 return answer; } } class Cola { int retrun = 0; public int bottle (int a, int b, int n) { retrun = retrun + n/a * b; n = n / a * b + n % a..
231219 Java 접근 제어자 복습 package com.poseidon.access; public class Test02 { public static void main(String[] args) { A a = new A(); A.number = 10; System.out.println(A.number); // 클래스명.static 필드명, static 은 객체 없이도 사용 가능 a.number = 100; System.out.println(a.number); // 100 출력 System.out.println(A.number); // 100 출력, static 필드는 한개만 존재 // B b = new B(); // 생성 불가 B b = B.getInstance(); B b2 = B.getInstance(); B b3 ..
231218 Java static 에 대해 공부 클래스 내부의 인스턴스에 static 이 붙으면 객체를 생성하지 않고도 인스턴스 호출 가능 class Cat { static String name; public static void print() {} } public class Static01 { public static void main(String[] args) { Cat.name = ""; Cat.print(); } } 인스턴스 변수와 정적 변수 /* 인스턴스 멤버(static X), 정적 멤버(static O) * static 키워드 * static 은 정적 이라는 의미가 있음 * 자바에서는 정적 개념과 동적 개념이 있음 * 쉽게 표현하면 정적은 클래스가 로드되는 시점, 동적은 클래스가 실행된 이후 * 이 중, 객체는 ..
231214 Java 객체지향 클래스 안에 새로운 메소드 만들어서 호출하기 public class HelloWorld { public static void main(String[] args) { HelloWorld helloWorld = new HelloWorld(); for (int i = 0; i < 10; i++) { helloWorld.hello(); } } public void hello(){ System.out.println("Hello ~"); } } 신규 클래스 선언 및 클래스 내부 설정 class Cat { // 클래스 안에 필요한 3가지 // 속성 : 변수 String name; // 초기화를 하지 않음 int aggressive = 50; // 생성자 : 인스턴스를 생성할 때 사용하는 메소드 public Cat(S..