분류 전체보기 211

8.예외 처리

1. 프로그램 오류 프로그램 오류, 프로그램 에러 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우 발생시점 컴파일 에러: 컴파일 시 발생하는 에러 * compiler: 구문체크, 최적화, 번역, 생략 코드 추가 런타임 에러: 실행 시 발생 모든 에러 논리적 에러: 실행은 되지만 의도와 다르게 동작 에러와 예외 컴파일러가 소스코드 *.java 검사 후 오류가 없을 시 *.class 파일이 생성되고 프로그램이 실행된다. 프로그램 실행시 발생하는 에러가 존재할 수 있으므로 해당 모든 경우의 수를 고려하여 대비하기 위해 에러와 예외를 둔다. 에러 : 프로그램 코드에 의해 수습될 수 없는 심각한 오류 - 복구 불가 OutOfMemoryError StackOverflowError ..

language/java 2023.03.10

JDK 설치 및 제거 - Mac

JDK 설치 JDK 설치가 java를 설치하는 것이라고 보면된다. LTS version인 java17를 설치할 것이다. M1 Mac의 경우 Azul 사의 JDK가 좋다는 평이 많아서 해당 회사의 JDK 17를 설치 한다. 설치 조건은 Homebrew 와 Cask가 설치되었단 가정에 설명을 한다. Homebrew 업데이트 터미널에서 다음 명령어를 입력하여 Homebrew를 업데이트한다. brew update Cask 업데이트 Azul Zulu JDK를 설치하려면 Cask를 업데이트해야 한니다. 다음 명령어를 입력하여 Cask를 업데이트한다. brew tap homebrew/cask-versions Azul Zulu JDK 17 설치 다음 명령어를 입력하여 Azul Zulu JDK 17을 설치한다. brew..

Mac 응용프로그램 저장 경로

Application 설치 방법 종류 Mac에서 프르그램은 크게 3가지 방법을 토대로 설치가 된다. appStore 설치 웹 브라우저 설치 터미널에서 설치 Homebrew로 설치 fomula 설치 : Java, Python 같은 .app 아닌 설치 파일 cask 설치 : BraverBrowser 같은 .app Homebrew가 제공하지 않는 프로그램 터미널 자체적으로 설치 그러면 이렇게 다양하게 설치가 되는데 어떤 경로에 저장이 될까? 그리고 왜 알아야 할까? 해당 경로들을 알게 되면 프로그램 삭제 시 완전 제거를 할 수 있다. Homebrew를 통한 삭제는 자신이 프로그램을 수동으로 이동하지 않는 한 삭제 프로그램이 완전 제거된다. 파일이 작동이 되지 않을 때 경로를 추적하기 쉽다. Applicatio..

IntelliJ - 화면 프리징, 멈춤 현상 해결 방법

프로젝트 진행 중 IntelliJ 가 자주 멈춰서 학습에 차질이 오는 경우가 많았다. 문제 해결을 위해서 여러가지 방법을 시도 중에 있다. 여러가지 방법들이 존재하는데 이 중에서 잘 먹히는 방법을 선택 혹은 다 적용해보기로 한다. - 필자는 다 적용했다. 1. 최근 종료 프로젝트 실행되지 않게 하기 출처: https://jojoldu.tistory.com/459 요약: 인텔리제이가 직전에 종료한 프로젝트가 n개라고 하면 n개를 동시에 실행시켜서 프리징에 가까운 멈춤 현상을 격을 수 있다. 방법 1. 설정창 들어가기 (command + ,) 2. Appearacne & Behavior -> System Settings 들어가기 3. Project란의 Reopen projects on startup 체크해제..

IntelliJ java version 변경

변경 이유 문제점1 다운로드 받은 소스파일의 java의 버전이 현재 내가 가지고 있는 자바의 버전과 다른 경우가 있다. 그럴 때 IntelliJ에서 자체적으로 다운로드 받은 소스파일의 java version을 사용하는데 이럴 때 내가 가진 java version과 달라서 IntelliJ의 버벅임이 생길 수 있다. 문제점2 IntellJ에서 java version을 설정하는 곳이 6곳이 있다. 이들의 version이 서로 다를 경우 코드자체가 run이 되지 않는다. 정말 java version을 변경해야 하는 경우 그래서 java version을 동일하게 변경하여 문제를 해결한다. 단, java version 차이로 인한 코드 자체에 생기는 에러가 발생할 경우 나의 자바 버전을 변경해야 한다. 변경 방법 ..

IntelliJ IDEA 완전 삭제 _ mac

1. IntelliJ IDEA.app 제거 응용프로그램 -> IntelliJ IDEA.app 휴지통으로 보내기 휴지통 비우기 2. 남은 캐시와 관련폴더 제거 1. iterms 혹은 terminal 들어가기 2. 프로그램 제거 - 휴지통으로 이미 제거해서 없을 수 도 있다. IntelliJ만 설치된 경우: JetBrains 삭제 다른 응용프로그램 설치된 경우: IntelliJ만 삭제 # JetBrain사의 IntelliJ만 설치된 경우 경로 ~/Library/Application Support # JetBrain사의 다른 응용프로그램도 설치된 경우 경로 ~/Library/Application Support/JetBrains 3. 해당 응용프로그램 캐시 제거 IntelliJ만 설치된 경우: JetBrains..

7. oop(object-oriented Programming) 객체지향 프로그래밍

01, 02 상속 상속: 기존의 class를 재사용하여 새로운 클래스를 작성하는 것 상속의 특징 코드의 재사용성을 높인다. 코드의 중복을 제거한다. 프로그램의 생산성과 유지보수에 기여한다. class Parent { } class Child extends Parent {} 규칙 한 방향이다. Parent -> child. parent class의 변화는 child에 영향을 끼치지만 child의 변화가 parent에 영향을 주지 않는다. child 는 parent class의 모든 멤버를 상속받는다 (단, 생성자와 초기화 블럭은 상속 X) child 멤버 >= parent 멤버 class Point { int x; int y; } // Point class의 영향 안받음 class Point1 { int ..

language/java 2023.03.04

6. oop(object-oriented Programming) 객체지향 프로그래밍

01. 객체지향 언어 핵심 개념: 캡슐화, 상속, 추상화, 다형성 객체지향 언어는 기존 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 것 코드의 재사용성 높고 유지보수가 용이 중복 코드 제거 02. class 와 object class: object의 설계도 또는 틀, object를 생성에 사용 설계도 변수 + 메서드 사용자 정의 타입 object: 실제로 존재하는 것, 서로 관련된 변수의 묶음  + 메서드(실제 메서드는 객체에 존재하지 않는다.) 프로그래밍 순서: class 작성 후 class로부터 object를 생성하여 사용한다. 03. object 구성요소 - property(속성) 과 function(기능) object: 속성 + 기능 둘 중 하나만 있어도 상관없다. member: object..

language/java 2023.03.03

5. 배열

배열 array는 같은 type의 여러 변수를 하나의 묶음으로 다루는 것 앞에 변수 part 에서 variable은 ram 의 일정부분을 사용하기위해서 이름을 지정해주는 것이라고 했음. 근데 저장하고 싶은 값이 너무 많음 int a= 1, int b= 2, ,,,, -> int[] num = {1,2,3,4,5,6,7}; 배열의 선언과 생성 배열의 인덱스 타입[] 변수이름; // 배열을 선언(배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입[배열길이]; // 배열을 생성(실제 저장공간 생성) int[] score; score = new int[5]; // score(0x100) -> score[0], score[1], score[2], score[3], score[4] 인덱스의 범위: 0 ~ ..

language/java 2023.03.03

4. 조건문(if, switch) 반복문 (for, while)

제어문 종류 조건문 [ if / if - else / if-else if / 중첩 if ] [ switch ] 반복문 - 반복 횟수 알 때 for 문, 모를 때 while 문 for - for문, 중첩 for문 while -while문, do-while문, break문, continue 1.조건문 1.1. if문 조건식 안 : 비교연산자, 논리 연산자로 구성 - true, false로 나와야 함 ex) str.equals(), 0) System.out.println("true"); System.out.println("working?"); // error. if-else가 같이 움직이는데 {} 없을때는 1개의 수행문만 작동함 else System.out.println("false"); System.out...

language/java 2023.03.02