전체 글 59

[Java]_제네릭(Generic)이란?...

제네릭을 사용하는 이유1. 중복되거나 필요없는 코드를 줄여주는 것function plusReturnFunction(a, b) { return a + b;}const a = 1;const b = 2;const c = 1.1;const d = "hello";plusReturnFunction(a + b); // 3plusReturnFunction(a + c); // 2.1plusReturnFunction(a + d); // 1hellopublic class Generic { public String plusReturnFunction(int a, int b) { ... } public String plusReturnFunction(int a, long b) { ... } public Str..

[Java]_예외 인식과 처리

코딩을 진행하면서 많은 문제를 만나며 오늘은 그중 에러와  예외를 다뤄볼려고 한다. 1. 오류와 예외 오류(Error)예외(Exception구별일반적으로 회복 불가능한 문제(대부분 문법 틀린 것)일반적으로 회복이 가능한 문제 코드실행관점에서 예외의 종류컴파일 에러(예외)런타임 에러(예외)문법(자바 언어의 규칙)을 지키지 않았을 때문법적인 문제는 아니지만 실행과정에서 만나는 에러(예외)  예외 처리 관점에서 예외의 종류확인된 에러(예외)미확인된 에러(예외)컴파일 시점에 확인하는 예외반드시 예외처리 해야함컴파일 시점에 확인하는 예외반드시 예외처리 해야함2. 예외 발생과  try-catch, final문- 예외 클래스를 만들어서 예외를 정의 -class OurBadException extends Excepti..

[Java] 클래스를 사용하여 기본연산 계산기 만들기 트러블슈팅

사칙연산 수행 후 결과값을 반환하고 결과를 출력하는 Calculator클래스 생성이전 클래스없이 만든 App클래스에 Calculator클래스가 활용되게 코드 수정 (연산 수행은 Calculator에서 진행)App클래스에서 Calculator클래스를 직접적으로 접근못하게 수정- App클래스에서 연산부분 제외 while문 유지 및  기록저장/삭제 문구 추가package com.example.calculator2;import java.util.ArrayList;public class Calculator { // 결과 값 저장을 위한 배열 생성 및 private ArrayList record = new ArrayList(); // 생성자 (위에서 이미 초기화를 해 기본생성자로 작성해도 이상없음 ..

[Java] 클래스 없는 계산기 트러블슈팅

조건- Scanner를 통해 양의 정수 2개를 하나씩 전달 받아 적합한 타입으로 선언해 변수에 저장- Scanner를 통해 사칙연산 기호를 전달받아 적합한 타입으로 선언해 변수에 저장- 입력받은 정수들과 기로흫 사용해 연산 후 결과 출력- 반복문을 사용하되 "exit"문자열을 입력하기전까지 무한으로 계산- firstNumber와 secondNumber가 2번 선언됨 - 변수 선언 중복- while문 안의 변수에서 int를 지워 처음 선언된 변수를 사용추가적으로 if문 같은 조건문, 반복문의 조건에 비교연산자를 틀리는 경우가 많았다- 위 코드에서 == 으로 작성하면 오류가 풀린다.

객체를 활용한 계산기 제작 과정

step 1. Calculator클래스에 if문으로 숫자, 연산자, 숫자순으로 들어온 걸 연산하여 Main에서 출력-----step 2. 각 연산들의 클래스를 만들어 Calculator와 연결기존  if문 안의 식을 ex) AddOperation.operate(firstNumber, secondNumber)로 변경- 연산자들을 각 클래스로 생성하여 단일 연산 책임의 원칙에 의해 유지보수와 확정성을 챙김 step 3.연산 클래스들을 추상클래스를 사용해 추상화각 연산자들은 추상클래스를 상속받고 오버로드됨 마무리가 되가면서 각 클래스들이 정리되고 Main과  Calculator클래스 코드의 시인성이 좋아졌다.그래도 아직 배운것에 대해 완전히 이해하고 진행한것이 아니기에 다시한번 강의를 듣고 정리후주간 과제 L..

[프로그래머스_Lv1] 1~6

1) 두수의 차class Solution {     public int solution(int num1, int num2) {         int answer = 0;         if((-50000            answer = num1 - num2;         }         return answer;     } }2) 두수의 곱 class Solution {     public int solution(int num1, int num2) {         int answer = 0;         if ((0            answer = num1 * num2;         }         return answer;     } } 3) 몫 구하기 class Solution { ..

JAVA가 가장 많이 사용되는 프로그래밍 언어인 이유

객체지향현실에서 어떤 물체를 만들 때 부품 하나하나를 만들어 조립하는 것처럼소프트웨어에선 부품에 해당하는 객체를 먼저만들고 객체들을 하나씩 연결하여 프로그램을 만든다이를 객체지향 프로그램이라 한다. 1) 객체객체란?세상에 존재하는 식별 가능한 물체 [물리적 : 자동차 사람, 계산기 // 개념적 : 학문, 운동]속성(필드) + 행동(메소드)객체 모델링 : 현실의 객체를 프로그램상의 객체로 설계하는 것객체 간 관계집합 관계 : 완성품과 부품의 관계[자동차 - 엔진, 타이어,핸들]사용 관계 : 객체의 속성(필드)을 읽고 변경하거나 행동(메소드)을 호충하는 관계[사람 - 자동차(전진, 후진)]상속 관계 : 부모와 자식의 관계(공장[부모]과 제품[제품]의 관계라 생각 할 수 있다.)객체 지향 프로그램의 특징- 캡..

[Intelij] 컴파일도중 프리징이 걸린다면

오늘 첫 Java 문법 강의를 들으며 실습을 진행했다.사전캠프 기간동안 유튜브로 한번들었던 내용이라 다시해보는 마음으로 진행하였다.다만, 반복문과 조건문을 진행할 때 그리 큰 코드가 아닌데도 프리징이 걸렸다.유추하자면 램 용량을 많이 잡아먹혀서 그런듯하다. 추가적인 방법들이 인터넷에 있으나 괜히 이상해질 것 같아 추후에 다시 해보기로 일단은 여러파일을 동시에 너무 많이 켜두는 습관을 고처야할듯하다...