본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

Spring 사전 준비/JAVA8

내부 클래스의 종류 1. 중첩 클래스 (Nested Class) - 클래스의 내부에 정의되는 클래스를 중첩 클래스(nested class)라고 한다. - 중첩 클래스는 정적 클래스(Static Class)와 내부 클래스(Inner Class)로 분류할 수 있다. 2. 정적 클래스 (Static Class) - 독립적으로 오브젝트로 만들어질 수 있는 클래스로, new 키워드를 사용해서 객체를 생성할 수 없다. 대신, 클래스명 자체를 사용하여 접근할 수 있다. 3. 내부 클래스 (Inner Class) - 내부 클래스를 이용하면 외부 클래스의 멤버에 쉽게 접근할 수 있다. - 클래스의 캡슐화 : 외부에서 불필요한 클래스를 은닉하여 코드의 복잡성과 클래스 파일을 줄일 수 있다. - 내부 클래스에서 외부의 변수를 사용할 때는 외부.. 2022. 3. 17.
[JAVA 간단정리 6] 정렬/입출력/스레드/GUI/네트워크 정렬 1) 일반적인 정렬 ArrayList arrayList = new ArrayList(); //... 데이터 추가 작업 Collections.sort(arrayList); //정렬 Collections.reverse(arrayList); //필요 시, 정렬 후 역정렬 2) 객체 정렬 - Comparator의 compare 메소드를 구현하여 객체를 정렬할 수 있다. compare 메소드가 음수를 반환하면 첫 번째 요소를 앞세우고, 양수를 반환하면 두 번째 요소를 앞세운다. import java.util.*; class User { private String name; private int point; public User(String name, int point){ this.name=name; this.. 2020. 11. 20.
[JAVA 간단정리 5] API(Timer)/Wrapper/예외처리/Collections API 5. Timer 시간 간격을 두고 task를 실행시키는 클래스 -task 클래스- import java.util.TimerTask; public class Task1 extends TimerTask { @Override public void run(){} //추상 메소드 } public class Task2 extends TimerTask { @Override public void run(){} //추상 메소드 } -task 실행 클래스- import java.util.Timer; public class Etask { public Etask() throws InterruptedException { //생성자 Timer timer = new Timer(true); TimerTask t1 = new .. 2020. 11. 17.
JAVA Collections 시간복잡도 총정리(타 블로그 링크) JDK에서 유용한 자료구조 클래스들을 제공한다. 크게 LIST, SET, MAP, QUEUE 등이 있는데 이 안에서도 사용용도에 따라 여러 종류로 나뉜다. 데이터를 추가, 탐색 하거나 삭제하는 함수도 같이 제공되는데, 함수 별 동작의 시간복잡도를 깔끔하게 정리해둔 글을 링크로 첨부할 것이다. 시간복잡도는 프로그램의 성능을 크게 좌우하므로 필요할 때마다 이 포스팅을 참고하면 좋을 것이다. www.grepiu.com/post/9 GrepIU www.grepiu.com 2020. 11. 17.
[JAVA 간단정리 4] 인터페이스/싱글톤/API(문자열,날짜,랜덤) 인터페이스 객체간의 소통 수단을 의미한다. 추상메소드와 상수만이 존재하며, 일반 메소드로 사용 시 에러가 난다. 인터페이스는 객체가 아니지만, 객체 타입으로만 사용된다. public class InterfaceClass implements Itf1,Itf2 { //인터페이스에 대한 override 필요 } public interface Itf1 { } public interface Itf2 { } 객체 타입으로 인터 페이스를 쓸 수도 있다. InterfaceClass interfaceClass = new InterfaceClass(); Itf1 itf1 = new InterfaceClass(); Itf2 itf2 = new InterfaceClass(); ※ 다형성 : 객체가 다양하게 변할 수 있다는 점.. 2020. 11. 16.
[JAVA 간단정리 3] 패키지/접근제한자/static/상속/추상클래스 패키지 다른 패키지의 클래스를 import 하는 법 import 패키지명.클래스명; 패키지의 모든 클래스를 import 하는 법 import 패키지명.*; 접근제한자 public : 접근 제한이 없음. protected : 동일 패키지에 있거나 상속받은 클래스일 경우에만 사용 가능. default : 동일 패키지에서만 사용 가능. private : 자신의 클래스에서만 사용 가능. Static 여러 객체가 하나의 변수나 메소드를 공유하게 하는 것. static을 설정하려면 접근제한자 뒤에 static을 작성하면 된다. 그리고 static 변수는 객체생성과는 상관없이 클래스와 함께 존재하게 된다. (DATA영역) static 대상을 사용 하기 위해, 객체 생성 필요없이 클래스를 import만 해서 그대로 쓰.. 2020. 11. 13.
[JAVA 간단정리 2] 입력/제어문/반복문/문자열/배열/객체/enum 입력 import java.util.Scanner; public class Hello { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //scanner.next..까지만 쳐도 여러 함수 목록이 뜬다. int i = scanner.nextInt(); //그러나 char을 따로 받는 함수는 없음. 즉, 이렇게 처리 String s = scanner.next(); char c = s.charAt(0); System.out.println(i); System.out.println(c); } } if, switch, for, while문 - C언어와 동일 public class Hello { public stat.. 2020. 11. 12.
[JAVA 간단정리 1] 설치, 환경 변수 세팅 언어를 배워도 그 언어를 오랫동안 쓰지 않으면 똥된다는 말이 있다. 본인은 2년전에 자바를 배웠었지만 프로젝트 이후로 잘 쓴적이 없어서, 속독으로 다시 한번 복습하기로 했다. 이 JAVA 카테고리의 포스팅들은 단순 개념 상기/정리용이므로 설명이 막 구체적이진 않을 것이다. 그럼 설치, 환경 변수부터 정리해보겠다. 1. JAVA 설치 에디터를 설치하기 전에, JAVA JDK(자바 개발툴)부터 설치해야 한다. www.oracle.com/kr/java/technologies/javase-downloads.html 각자 컴퓨터 버전에 맞는 파일 다운로드 2. 환경 변수 세팅 따로 JDK 설치 경로를 설정 하지 않았다면 이 경로에 java가 설치 되어 있을 것이다. 환경 변수 세팅전에, java를 포함하는 디렉토.. 2020. 11. 11.