전체 글 188

[오류] 33월의 저주

[개요] 생각없이 예제 따라치다가 오류가 나고 말았다 평소처럼 오타겠거니 싶었지만 생각보다 해결하는데 시간이 걸렸다 규칙을 알아보고자 입력을 다르게 해보았지만 4-22 5-26(+4) 6-31(+5) 7-33(+2) 8-40(+7) 9-42(+2) 원인파악에 도움이 되진 않았다 첫번째 출력문의 오류라고 판단하여 그에 관련된 것만 고쳐보려 했다가 해결이 더 오래걸리고 말았다 [해결] date.get(Calendar.Month+1) (date.get(Calendar.Month)+1) 이 사소한 실수가 7월을 33월로 만들고 말았던것이다 (그리고 사실 오늘 날짜인 2월 28일이 아닌 10월 28일로 출력되는것도 오류였다) 내가 코드를 생각없이 치고있다는 반증이라 생각하여 반성하게 되었다. 오타와 괄호를 주의해..

개인기록 2022.02.28

TIL 정리_12

공변 반환타입 (JDK1.5 추가) 오버라이딩할 때 조상 메서드의 반환타입을 자손 클래스의 타입으로 변경을 허용하는 것이다. Point copy = (Point)original.clone(); ---> Point copy= original.clone(); clone()을 이용한 배열 복사 int[] arr = {1,2,3,4,5}; int[] arrClone = arr.clone(); int[] arr = {1,2,3,4,5}; int[] arrClone = new int{arr.length}; System.arraycopy(arr, 0, arrClone, 0, arr.length); 두 코드는 같은 결과를 얻는다 java.util 패키지의 다른 클래스들도 이와 같은 방식으로 복제가 가능하다 (Vecto..

TIL 정리_11

Vector 클래스 – 가변배열 가능(동적으로 크기가 관리되는 객체배열) Object[] - 모든 종류의 객체 저장 가능 Vector 클래스의 주요 메서드 메서드/생성자 설명 Vector() 10개의 객체를 저장할 수 있는 Vector인스턴스를 생성한다 10개 이상의 인스턴스가 저장되면, 자동적으로 크기가 증가된다. boolean add(Object o) Vector에 객체를 추가한다. 추가에 성공하면 결과값으로 true 실패하면 false를 반환한다. boolean remove (Object o) Vector에 저장되어 있는 객체를 제거한다. 제거에 성공하면 true 실패하면 flase를 반환한다. boolean isEmpty() Vector가 비어있는지 검사한다. 비어있으면 true, 비어있지 않으면..

[오류] 이 작업을 완료하기 위한 페이징 파일이 너무 작습니다

'이 작업을 완료하기 위한 페이징 파일이 너무 작습니다' 평소처럼 이클립스를 사용하던 중 해당 문구가 나왔다 램 부족으로 해석이 수행되지 않아서 가상메모리/*페이징파일*/를 이용하려는데 그 또한 크기가 작아서 발생하는 오류라고 한다 찾아본 해결 방법은 제어판 - 고급 시스템 설정 - 시스템속성>고급>설정 성능옵션>고급 >변경 설정 저장 후 재시작 **c드라이브의 용량이 작다면 용량이 많은 다른 드라이브에 할당하는 것을 추천한다

개인기록 2022.02.26

TIL 정리_10

프로그램 오류 컴파일 에러 : 컴파일 했을 때 에러 발생 런타임 에러 : 프로그램을 실행했을 때 에러 발생 논리적 에러 : 의도와 다르게 동작 java 런타입 에러 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 : 프로그램 코드에 의해서 수습될 수 있는 미약한 오류 예외는 처리할 수 있음 예외처리의 정의와 목적 정의 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 예외 클래스의 계층구조 Object Throwable Exception Error RuntimeException IOException OutOfMemoryError Exception -IOException, ClassNotFoun..

TIL 정리_09

객체지향 정리 마지막 다형성 여러가지 형태를 가질 수 있는 능력 하나의 배열에 여러종류의 객체 저장 조상 타입의 참조변수로 자손 타입의 객체를 다루는 것 참조변수가 사용할 수 있는 멤버의 개수는 인스턴스의 멤버개수보다 같거나 적어야 한다 참조변수 타입과 인스턴스 타입은 보통 일치하지만, 일치하지 않을수도 있다. 참조변수의 형변환 사용할 수 있는 멤버의 개수를 조절하는 것 조상 - 자손 관계의 참조변수는 서로 형변환이 가능하다 **참조변수가 가리키는 실제 인스턴스가 무엇인지가 중요(멤버 개수 확인) instanceof 연산자 참조변수의 형변환 가능여부 확인에 사용. 가능하면 true반환 형변환 전에 반드시 instanceof로 확인해야 함 주로 조건문에 사용한다 if(참조변수 instanceof 타입(클래..

Git 커밋하기(이클립스/Eclipse)

*이클립스를 이용한 커밋 및 레퍼지토리 푸시 방법입니다 * 처음 커밋하는 것이라면 먼저 github에 들어가서 repository 생성 깃 프로필 > settings > developer settings > personal access tokens을 들어가서 토큰을 생성해야한다 생성한 후 코드를 캡쳐&복붙 후 꼭 백업해두자 이클립스로 돌아온 후 커밋할 자바 프로젝트 파일(폴더) 우클릭 > team - share project use or create repository --- 로 시작하면 체크 create repository 클릭 다시 자바 폴더 우클릭 > team - add to index >commit (커밋 메세지 입력해주기) -> local pc 저장소에 저장된 상태이기 때문에 레퍼지토리에 올리기..

개인기록 2022.02.23

TIL 정리_08

객체지향 III 상속 (Inheritance) 기존의 클래스로 새로운 클래스를 작성하는 것 (코드의 재사용) 두 클래스를 부모와 자식으로 관계를 맺어주는 것 자손은 조상의 모든 멤버를 상속받는다 (생성자, 초기화 블럭제외) 자손의 변경은 조상에 영향을 미치지 않는다. 자손의 멤버개수는 조상보다 적을 수 없다.(같거나 많다) 포함관계 포함(composite)이란? -클래스의 멤버로 참조변수를 선언하는 것 -작은 단위의 클래스를 만들고, 이들을 조합해서 클래스를 만든다. 클래스 간의 관계 결정하기 1. 상속관계 : ~은 ~이다 (~is a~) 2. 포함관계 : ~은 ~을 가지고 있다 (~has a~) //대부분의 경우는 포함관계이다 Point c = new Point(); 단일 상속 Java는 단일 상속만을..

TIL 정리_07

객체지향 II 참조형 반환타입 객제주소를 정수(int)타입으로 반환 객체주소를 줬기 때문에 객체를 다룰 수 있게 됨 "반환타입이 참조형이라는 것은 메서드가 객체의 주소를 반환한다는 것을 의미한다" 재귀호출 메서드가 자기 자신을 호출해서 일을 시키는 것 void method() { method(); //재귀호출 } 무한반복을 피하기 위해 조건문이 필수적으로 따라다닌다. 클래스 메서드와 인스턴스 메서드 : iv 사용여부로 구분 인스턴스 메서드 인스턴스 생성 후 '참조변수.메서드이름()'으로 호출 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용가능 Static 메서드(클래스 메서드) 객체생성없이 '클래스이름.메서드이름()'으로 호출 인스턴스 멤버(iv, im)..

TIL 정리_06

객체지향 언어 객체지향이론의 기본 개념 : 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 주요특징 1. 코드의 재사용성이 높다 ㄴ새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다 2. 코드의 관리가 용이하다. ㄴ코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다.(규모가 큰 것도 OK) ㄴ제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다 =>코드의 재사용성이 높고 유지보수가 용이하다 클래스 객체를 정의해 놓은 것이자 객체의 설계도 또는 틀이다. 클래스의 정의 : 객체를 정의해 놓은 것..