Backend

반응형
Backend/JAVA

[kh정보교육원 26일차] Properties / Thread

Properties HashTable의 자식클래스 K,V가 String, String 형으로 고정되어 설정 정보를 관리하는데에 최적화 되어있다. //prop이라는 Properties 생성 Properties prop = new Properties(); 요소 설정 : setProperty prop.setProperty("class", "hello.world.ThankyouJava"); prop.setProperty("url", "https://kh.com"); prop.setProperty("id", "abcdefg"); 요소 가져오기 : getProperty String _class=prop.getProperty("class"); String url = prop.getProperty("url"); Str..

Backend/JAVA

[kh정보교육원 25일차] Stack / Queue / Set / Map

Stack LIFO(Last In First Out) 후입선출 구조 ex) jvm call stack, browser 뒤로가기/앞으로가기 Queue FIFO(First In First Out) 선입선출 ex) 대기리스트 관리 Set Collection 내부에 set. set내부에 HashSet이 존재. 중복 요소를 추가하지 않는다. Set setName = new Set(); 일 때 *Set은 인덱스 관련 메소드가 없다. 요소 개수 : setName.size() 요소의 포함 여부 : setName.contains("abc") //abc가 setName에 존재하는지 확인 요소 제거 : setName.remove("abc") //abc를 제거 요소 열람하기 - for문은 인덱스가 없어서 사용불가. - for..

Backend/JAVA

[kh정보교육원 23일차] Generic / Collection / List / List내장함수들 / Comparator

오늘 배운 것은 드디어 리스트 ! 파이썬때는 리스트를 엄청많이 썼기때문에 왜 리스트같은게 자바에는 없을까? 라고 생각했는데 역시나 없을리가... 배열에비해 20000000배 편리한 리스트에 대해 알아본다. 배열의 문제점 - 배열은 크기 변경이 불가능 - 넉넉하게 크기를 할당하면 메모리낭비, 적게 할당하면 다시 할당해야하는 번거로움. - 중간요소 삭제시, 뒤 요소들을 하나씩 당겨서 빈 공간이 없도록 직접 배열을 수정하는 코드 작성해야 함. - 중간요소 추가시, 기존데이터를 하나씩 뒤로 밀어서 공간이 생기도록 수정하는 코드를 작성해야 함. * 참고로 ArrayList compared 정렬기준메소드를 오버라이드 intList = [5,3,2,4,1] 일 때, 오름차순(기본정렬) 과 내림차순(역순정렬)을 해보겠..

Backend/JAVA

[kh정보교육원 21일차] Error / Exception 처리 (try-catch, checked & unchecked)

예외처리 Error / Exception 오류의 종류에는 다음과 같은 것이 있다. - 컴파일 에러 : 소스상의 문법 에러 - 런타임 에러 : 입력값이 틀렸거나, 배열의 입력 범위를 벗어났거나 계산식의 오류 등으로 인해 발생 - 논리 에러 : 문법상 문제가 없고, 런타임에러도 발생하지 않지만, 개발자 의도대로 작동하지 않는 에러 - 시스템 에러 : 컴퓨터 오작동으로 인한 에러 . => 소스 구문으로 해결 불가능 Error와 Exception에는 차이가있는데, 이를 알아보자 Error - 프로그램 진행시 치명적 상황이 발생한 것. 소스상 해결 불가. ex) OutOfMemoryError, StackOverflowError 등 1. OutOfMemoryError - jvm이 할당한 heap영역을 모두 소진한 ..

Backend/JAVA

[kh정보교육원 20일차] String,StringBuffer,StringBuilder / Wrapper / Calendar <--> Date / String 포매팅

API란, Application Programming Interface를 의미한다. String & StringBuilder String : 불변성. immutable 한 특성. -,+ 연산시 해당 리터럴을 변경하는 것이 아닌 새로운 리터럴 생성 StringBuilder : mutable 한 특성. 멀티쓰레드 동기화 미지원. 속도 빠름 StringBuffer : mutable 한 특성. 멀티쓰레드 동기화 지원. 속도 느림 이 개념은 실제로 저번 테스트에서 나왔었다. String s1="java"; String s2="java"; String s3=new String("java"); String s4=new String("java"); System.out.println(s1==s2);//true Syste..

Backend/JAVA

이클립스 단축키 모음(JAVA)

Ctrl + F11 컴파일 + 디버그. 코드가 제대로 돌아가는지 확인 Ctrl+W / Ctrl+Shift+W 창닫기 / 열린 창 전부 닫기 Ctrl + / 그 줄 주석처리 Ctrl + 메소드 클릭 메소드 코드로 이동 Ctrl + Shift + O 자동 import Ctrl + Alt + ↑↓ 선택한 줄을 화살표 방향으로 복사 Alt + ↑↓ 해당 줄을 그대로 옮김 Ctrl + D 해당 줄 삭제 home / end 블럭단위의 처음 / 끝 으로 이동 Shift + home / end 그 줄 처음부터 커서까지 / 커서부터 그 줄 끝까지 Ctrl + Space 자동완성 Alt+ Shift + Y 페이지 자동 줄맞춤 형식으로 변환 / 아닌것으로 변환 Alt + Shift + R 클래스나 메소드 이름 바꿀때 사용 ..

Backend/JAVA

[kh정보교육원 19일차] 추상클래스 / 인터페이스

추상클래스 메소드 오버라이드 강제화 public void test6() { Animal[] animals = new Animal[5]; for(int i=0;i 자식클래스를 객체화해서 사용 차이점 추상클래스는 일반클래스 성격을 가지고 있다. field와 method를 가지고, 자식클래스에 물려줄 수 있다. 인터페이스는 일반 field와 method를 가질 수 없다. Java 1.8부터 default/static 메소드를 사용할 수는 있다. 특징 [추상클래스] - 0개이상의 추상메소드를 가질 수 있다. (추상메소드가 0개인 경우 객체화를 막기위한 목적이라고 보면 됨) - 자식클래스는 반드시 부모의 추상메소드를 구현해야 한다. [추상메소드] - abstract 키워드 - 몸통부가 없음. 몸통부는 자식클래스에..

Backend/JAVA

[kh정보교육원 18일차] ==와 equals / hashCode / clone / 복사생성자 / 다형성 / 정적바인딩과 동적바인딩

==와 equals 의 차이 == ) 동일성 비교 (identity) : 같은 주소값을 가진 객체인가 비교. (주소값 비교) equals ) 동등성 비교(equality) : 같은 내용을 가진 객체인가. (내용 비교) equals & hashCode 현재객체.equals(다른객체) - 현재객체.필드명 이 다른객체.필드명 과 같은지 (다르면 return false) equals를 제대로 사용하기 위해서는 Override가 필요하고, Override를 안했을 경우 obj의 equals를 쓰기 때문에 false가 나온다. equals의 비교결과가 true라면, hashCode 값도 같아야 한다. 이 역시 오버라이딩이 필요하다. 특정 필드값(동등성 비교에 사용)기준으로 hashCode를 재생성한다. 보통 equ..

Backend/JAVA

[kh정보교육원 17일차] 상속(inheritance) / 오버라이드(Override) / is-a 상속관계 / has-a 포함관계

금요일엔 정말 중요한걸 배웠다. 바로 상속. Inheritance. 상속에 대해서 알아보자. ​ 상속 (Inheritance) class 자식클래스이름 extends 부모클래스이름 { // 내용 } 위와 같이 사용한다. @Override 어노테이션 - 오버라이딩 유효성 확인 extends 가 뒤에 없을 경우 - extends Object 생략된 것. extends 뒤에는 딱 한개의 클래스만 올 수 있음. ​ 다음과 같이 상속을 extend로 선언하여 사용하면, 부모클래스에 선언된 필드/메소드를 선언없이 사용할 수 있다. @Override 어노테이션은 오버라이드가 됐는지 확인할 수 있는 코드로, 상속받은 메소드를 오버라이드했을 경우 오류가 발생하지 않고, 오버라이드 메소드가 아닐 경우 오류가 발생한다. @..

Backend/JAVA

[kh정보교육원 16일차] VO class 구현하기 / 객체관리 / has-a 포함관계 / 연관관계

지난 수업에서 VO class 를 배웠다. 오늘은 이를 응용하고 더 확장해보는 수업이었다. ​ VO class - 다른말로는 DTO (Data Transfer Object) , DO(Domain Object), Entity, bean 이라고도 한다. vo class 작성방법 1. private field 2. public getter/setter (위치 생성자 아래도 가능) 3. 기본 / 모든 파라미터 생성자 4. 필드정보 확인용 메소드 보통 getter/setter를 제외하고는 순서도 이 순서대로 쓴다. ​ ​ 다음과 같은 구조에서, 먼저 Person.java 클래스를 작성해본다. public class Person { //field private String name; private int age; ..

반응형
유경(shin-6-0)
'Backend' 카테고리의 글 목록 (4 Page)