본문 바로가기
반응형

java19

[TIL] : 99 일일 배움을 위한 Today I Learned ! JavaScript 30일 챌린지 6일차를 완료했다. 2022.02.02 - [Project/JavaScript 30일 챌린지] - [JavaScript 30일 챌린지] : 6일차 완료 SpringBoot 김영한님 강의에서 mvc1탄을 마지막으로 간단한 프로젝트를 만들어 보는 것을 진행하고 있는 중이다. 2022.02.02 - [Framework/Spring Boot] - [Spring Boot] : 요구사항에 맞춰 상품 도메인을 개발하고 테스트 코드를 작성하기 2022.02.02 - [Framework/Spring Boot] - [Spring Boot] : thymelef, 타임리프 간단 사용법 질문 노트 오랜만에 질문 노트를 작성했다. 따로 궁금해서 .. 2022. 2. 2.
[TIL] : 83 일일 배움을 위한 Today I Learned ! Java Java 전공 서적의 뒷 부분에 대한 복습을 마쳤다. 책에서 예시를 통해 이론을 알려주는데 최대한 내가 생각한 예시로 변형해서 코드를 고쳐서 공부했다. 2022.01.17 - [프로그래밍언어/Java] - [Java] : 여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출 2022.01.17 - [프로그래밍언어/Java] - [Java] : 상속을 제한하는 private 2022.01.17 - [프로그래밍언어/Java] - [Java] : 상속을 허용하는 protected 2022.01.17 - [프로그래밍언어/Java] - [Java] : method overriding 2022.01.17 - [프로그래밍언어/Java] - [Java] : .. 2022. 1. 17.
[Java] : 인터페이스, interface 인터페이스의 개념 인터페이스는 추상 클래스와 마찬가지로 직접 인스턴스를 생성할 수 없다는 특징을 가지고 있다. 또, 인터페이스는 일반 메서드와 생성자를 가질 수 없고, 필드 또한 static final을 붙인 상수화된 필드만 사용할 수 있으며 반드시 초기화를 해야 한다는 특징이 있다. interface 인터페이스명 { static final 필드 및 추상 메서드 정의 } 인터페이스는 코드로 보면 이런 형식을 가지고 있고 추상 클래스와 비슷하지만 다중 상속을 위해 사용하기도 한다. 또, 인터페이스는 상속을 받기 위해 extends 대신에 implements 키워드를 사용한다. interface TestCarSetting { static final int CAR_COUNT = 0; abstract void .. 2022. 1. 17.
[Java] : 추상 클래스, abstract class란? 추상 클래스란? 추상 클래스는 직접 인스턴스를 생성할 수 없는 클래스이다. 추상 클래스를 사용하기 위해서는 자식 클래스에서 추상 클래스를 상속 받고 자식 클래스의 인스턴스를 생성해야 한다. 추상 클래스를 만들기 위해서는 abstract 키워드를 앞에 붙여줘서 사용하면 된다. 예시 코드 abstract class CarSetting{ int speed = 0; String color; void upSpeed(int speed) { this.speed += speed; } } 먼저 abstract를 붙여 추상화 클래스를 만들어준다. 추상화 클래스에 speed와 color을 선언, 초기화 해주고 upSpeed()메서드를 만들어 준다. class Sedan extends CarSetting { } Sedan은 .. 2022. 1. 17.
[Java] : 오버라이딩을 제한하는 final 오버라이딩을 제한하는 final 부모 클래스의 메서드 오버라이딩을 막기 위해 메서드 앞에 final 키워드를 붙여 사용한다. final이 붙은 메서드는 자식 클래스에서 오버라이딩을 할 수 없고 부모 클래스에서 정의한 대로 사용해야 한다. 주로 static과 함께 클래스 변수를 상수처럼 지정하는 데 사용된다. 즉, final이 붙은 필드와 메서드는 말 그대로 마지막이 되므로 상속이 불가능하고 마지막 변수 값을 갖기 때문에 값의 수정이 불가능하게 된다. 예시 코드 class TestCarSetting { int testCarSettingSpeed = 0; final void upSpeed(int testCarSettingSpeed) { this.testCarSettingSpeed += testCarSetti.. 2022. 1. 17.
[Java] : method overriding 메서드 오버라이딩 메서드 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의 하는 것을 말한다. 예시 코드 class ToyPenSetting { String color = "Red"; void changeColor(String color) { this.color = color; System.out.println("장난감 연필의 색상 (부모 클래스) => " + this.color); } } ToyPenSetting 클래스는 부모 클래스이다. 펜의 색상을 Red로 초기화 시켜놓고 changeColor라는 색상을 바꿔주는 메서드를 만들어 줬다. class TestPen1 extends ToyPenSetting{ void changeColor(String color) { this.color = col.. 2022. 1. 17.
[Java] : 상속을 허용하는 protected 상속을 허용하는 protected protected는 public과 다르게 같은 패키지와 클래스에서만 접근할 수 있다. 예시 코드 class RcCarSetting { protected String color; int speed; private를 공부할 떄 만든 코드를 조금 변형했다. color을 protected로 지정해 줬다. class RcSedan extends RcCarSetting { void setSpeed(int speed) { this.speed = speed; } void setColor(String color) { this.color = color; } } RcSedan 클래스에서 speed와 color의 set 메서드를 만들어줬다. public class RcCar { public .. 2022. 1. 17.
[Java] : 상속을 제한하는 private private 부모 클래스의 필드와 메서드는 서브 클래스에 상속되지만 상속을 원하지 않는 경우에는 private 접근 제한자를 사용해 주면 된다. private로 지정된 필드나 메서드는 자식 클래스로 상속되지 않게 된다. 예시 코드 class RcCarSetting { private String color; int speed; } RcSetting에 color을 private 접근 제한자로 지정하고, speed는 따로 지정을 하지 않았다. class RcSedan extends RcCarSetting { void setSpeed(int speed) { this.speed = speed; } //오류 코드 void setColor(String color) { this.color = color; } } Rc.. 2022. 1. 17.
[Java] : 여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출 여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출 파라미터만 다르면 생성자를 여러 개 만들 수 있다. 이번에는 부모 클래스의 생성자가 여러개 있을 때 호출 순서와 강제로 부모 클래스를 호출하는 supoer() 메소드에 대해 공부한다. 코드 class ToCarSetting { ToCarSetting() { System.out.println("부모 클래스 생성자 호출 (파라미터 없음)"); } ToCarSetting(String str) { System.out.println("부모 클래스 생성자 호출 => " + str); } } 먼저 부모 클래스에서 파라미터 값이 없는 생성자와 파라미터 값이 있는 생성자를 만들어준다. class ToySedan extends ToCarSetting { ToySeda.. 2022. 1. 17.
[Java] : 생성자 상속의 순서 생성자 상속의 순서 부모 클래스와 자식 클래스 상속의 순서는 부모 클래스가 우선 실행이 되고 자식 클래스가 나중에 실행이 된다. 코드 예시 public class Hi { public static void main(String[] args) { // 자식 클래스의 인스턴스 생성 후 실행 JuHyeon juHyeon = new JuHyeon(); } } // 부모 클래스 생성 및 부모 클래스 생성자 Oh 생성 class Oh { Oh() { System.out.println("부모 클래스 : Oh 호출"); } } // 자식 클래스 생성 및 자식 클래스 생성자 JuHyeon 생성 class JuHyeon extends Oh { JuHyeon() { System.out.println("자식 클래스 : JuH.. 2022. 1. 16.
[Java] : 상속 개념과 예시 상속 상속은 기존 클래스가 가지고 있는 필드와 메서드를 그대로 물려받은 새로운 클래스를 만드는 것을 말한다. 필요에 따라 추가로 필드나 메서드를 추가해서 만들어도 된다. 개념 class 샤프 { 필드 : 케이스, 샤프심 메서드 : 심 넣기() 메서드 : 심 뺴기() 메서드 : 지우개로 지우기() } class 볼펜 { 필드 : 케이스, 볼펜심 메서드 : 심 넣기() 메서드 : 심 뺴기() 메서드 : 수정 테이프로 지우기() } 샤프 클래스와 볼펜 클래스가 있다고 가정할 때 필드와 메서드에서 공통적인 부분은 케이스와 심 넣기, 빼기가 있고 다른 점은 필드의 샤프심이냐, 볼펜심이냐와 메서드의 지우개로 지우냐와 수정 테이프로 지우냐가 다르다. class 필기구 { 필드 : 케이스 메서드 : 심 넣기() 메서드.. 2022. 1. 16.
[TIL] : 81 일일 배움을 위한 Today I Learned ! Java Java의 부족한 이론을 복습하기 위해 전공 서적을 다시 한 번 돌아보고 있다. 이번에는 생성자 활용과 오버로딩에 대해 공부했고, 인스턴스 변수와 클래스 변수에 대해 다시 봤다. 처음에 문법 배우고 바로 오버로딩, 생성자 들을 볼 때에는 이해가 잘 안 갔는데 아는 만큼 보인다고.. Spring을 조금 해 봤다고 공부할 때 안 보였던 부분들이 보이기 시작했고 뭔가 구멍이 나있던 내 지식이 채워지기 시작했다. 앞으로 뒷 부분을 조금 더 이해하고 넘어가는 식으로 공부하고 스프링 강의를 이어서 빨리 들어야겠다. 2022.01.15 - [프로그래밍언어/Java] - [Java] : 파라미터가 있는 생성자 활용하기 2022.01.15 - [프로그래밍언어/J.. 2022. 1. 15.
[TIL] : 80 일일 배움을 위한 Today I Learned ! Java Java 이론이 조금 부족하다는 것을 느껴 전공 서적을 통해 다시 공부하고 있다. 2022.01.14 - [프로그래밍언어/Java] - [Java] : Class와 인스턴스 생성 및 호출 2022.01.14 - [프로그래밍언어/Java] - [Java] : private와 public에 대해서 오류 노트 Java 코딩 중 간단한 오류가 떠서 기록을 해뒀다. HTTP HTTP 기초에 대해 공부하고 있다. 강의를 들으면서 공부하고 있는데 따로 블로그에 포스팅을 하지는 않았다. 2022. 1. 14.
[Java] : Class와 인스턴스 생성 및 호출 Class와 인스턴스 생성 및 호출 Class란? 클래스는 설계도, 인스턴스(객체)는 설계도를 통해 만든 물건과 같다고 볼 수 있다. Class 형태 public class Name { } publci 접근 제한자를 활용한 Name 클래스이다. 클래스는 이런 형태를 가지고 있다. 실습 class NoteSetting { //노트 필드 String color; //노트 색상 int page; // 노트 장 수 // 노트 장 수 증가 void upPage(int value) { page += value; } // 노트 장 수 감소 void downPage(int value) { page -= value; } } 노트 클래스를 완성했다. 노트의 설계도를 만든 것과 같다. 이제 노트의 설계도를 통해 노트를 만들.. 2022. 1. 14.
[오류 노트] : 오류: 기본 클래스 poly.util.EncryptTest을(를) 찾거나 로드할 수 없습니다. 문제 암호화 알고리즘 로직을 완성시키고 테스트 클래스를 만들어 작동하나 확인을 하려고 했는데 아래와 같은 오류가 떴다. 오류: 기본 클래스 poly.util.EncryptTest을(를) 찾거나 로드할 수 없습니다. 해결 구글링을 해보니 Project Clean을 하거나 Run Configurations에서 Main 체크와 Classpath 확인을 하라고 해서 다시 해봤고 Run setting도 삭제하고 다시 했는데 안 됐다. 의외로 간단하게 해결했다. Maven Update를 통해 해결이 완료되었다. 만약 Maven Update를 통해 해결이 안 된다면 Run Setting을 삭제하고 Project Clean을 하고 Maven Update를 진행해 보는 것도 좋다. 내가 그렇게 해결했기 때문이다. 2021. 12. 20.
[질문 노트] : MyBatis가 무엇인가요? 🧐 질문 | MyBatis가 무엇인가요? 마이바티스는 개발자가 지정한 SQL, 저장프로시저, 몇 가지의 고급 매핑을 지원하는 퍼시스턴스 프레임워크입니다.(프로시저나 SQL 문으로 객체들을 연결시킵니다.) JDBC로 처리하는 코드와 파라미터 설정 및 결과 매핑을 대신해 줍니다. JDBC를 통해 개발하지 않고 MyBatis 같은 프레임워크를 이용해서 개발을 하는 게 더 편합니다. 데이터 베이스 레코드에 원시타입과 Map 인터페이스 자바 POJO를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있습니다. 프로그램 코드와 SQL을 분리할 수 있는 장점이 있습니다. 쿼리의 분리로 코드의 간결성 및 유지 보수성이 향상됩니다. resultType resultClass 등 Vo를 사용하지 않고 조회 결과를 사.. 2021. 12. 14.
[Spring Framework] : 딥러닝 (이미지 인식) 딥러닝 지도 학습은 문제지랑 답을 준다고 생각하면 되고 강화 학습은 문제지를 주고 스스로 답을 찾게 한다고 보면 됩니다. 여기서 머신 러닝은 지도 학습이라 볼 수 있고 딥러닝은 비지도학습, 강화학습이라고 볼 수 있습니다. 이미지 인식을 위한 딥러닝 플랫폼이 여러가지가 있습니다. 1. 구글에서 만든 텐서플로우 2. 인텔에서 만든 OpenCV 3. HP에서 만든 Tesseract Tesseract를 이용한 이미지 인식 - 요즘은 수학적 알고리즘 보다는 학습된 데이터를 통해 이미지를 인식 시킵니다. 그러다보니 학습된 데이터 량을 늘리기 위해 빅데이터를 활용합니다. - 학습을 위해 공개된 데이터를 활용해 실습을 하면 좋습니다. 데이터 학습 방법 - 제공하는 전용 툴을 통해 학습 시킵니다. - 파이썬으로 프로그래.. 2021. 10. 27.
1 . 프로그래머스_짝수와 홀수(Java) 프로그래머스_짝수와 홀수 https://programmers.co.kr/learn/courses/30/lessons/12937 - 의사 코드 가짜 코드라는 의사 코드를 먼저 작성해 보는 습관을 가지기로 했습니다. 간단한 문제 먼저 풀어봤는데 의사 코드는 따로 형식이 없기 때문에 편하게 적을 수 있어서 좋은 것 같습니다. - 정답 코드 class Solution { public String solution(int num) { String answer = ""; if(num%2==0){ answer = "Even"; } else { answer = "Odd"; } return answer; } } 가장 쉬운 문제부터 천천히 시작하는 게 좋을 것 같아서 쉬운 문제부터 정복해 나가겠습니다. 2021. 9. 6.
01 . 파이썬의 특징과 활용 및 정의. 파이썬은 1990년 귀도 반 로섬이 개발한 인터프리터 언어입니다. 인터프리터 언어는 Java나 C처럼 컴파일러를 사용하지 않고 한줄 한줄 바로 원시코드를 실행시켜서 사용합니다. 구글에서 만들어진 소프트웨어의 50% 이상이 파이썬이라고 하며 드롭박스나 Django도 파이썬으로 개발되었다고 합니다. 파이썬은 공동 작업과 유지 보수가 쉽고 편합니다. - 파이썬은 인간다운 언어이고 문법이 쉬운 편이라 빠르게 배울 수 있습니다. 에릭 레이먼은 파이썬을 공부한지 단 하루만에 자신이 원하는 프로그램을 작성했다고 합니다. 파이썬은 무료이고 C와 궁합이 좋습니다. 프로그램의 전반적인 뼈대는 파이썬으로 만들고 빠른 실행 속도를 필요로 하는 부분은 C로 만들어 파이썬 프로그램 안에 포함시킵니다. ( 파이썬 라이브러리 중 C.. 2021. 9. 1.
반응형