no image
java 이클립스 템플릿 Template
1. 복사하고 싶은 코드들을 복사한다.   2. Window -> Preferences -> Java -> -> Editor -> Templates  3. new 누르고 Pattern에 아까 저장했던 코드 붙여넣기Name에 언더바를 넣는 이유는 템플릿 명령어중 가장 상단에 올라가고 사용할 때 언더바만 입력해주면,기존에 저장되어 있던 템플릿들과 구분해서 사용 가능 하다.▶아래 동그라미 친 곳은 환경변수인데, class이름에 환경변수를 넣어주면, 자동으로 main class의 이름이 들어간다.각각의 환경변수를 알아두면, 변칙적으로 템플릿을 사용가능하다.     번외) 템플릿 Template 추출해서, 외부에서 사용하기Export로 쉽게 가져가면 된다.반대로 템플릿을 가져오고 싶으면 Import 해주면 된다.
2024.05.08
no image
java 람다식(+다형성 추가 설명)
▶람다식 : 내가 일일이 써야할 메서드를 JVM이 함축시켜서 초간단하게 입력할 수 있는 방법 ▶어느 프로그램이던지 람다식을 다른 이름으로 사용한다. - 추상 클래스를 사용하는 이유는 표준화이다. (객체를 사용할 때 기준을 잡아주는 것이다)- 클래스 : 설계도, 인터페이스 : 사용 설명서 (사용자가 필요하다) ▶다형성 : 쉬는 시간 되면 잠깐 쉬었다 하겠습니다.- 명령을 하면, 다양하게 행동을 하게 되는 것- 일일이 해야하는 것을 정해주게 되면 너무 시간이 길어진다.- 상위 명령을 하나 툭 던져주면 각자 그 명령을 받아서 개개인의 행동을 정하고 수행한다.※ 도형이니까 너 그냥 그려 (draw) 삼각형은 알아서 삼각형으로, 사각형은 알아서 사각형으로 각자 할 행동들을 만들어서 수행한다.- 전달하는 명령은 동..
2024.05.08
no image
java 요약노트
-이 글은 학원에서 진행하는 수업과 코딩팩토리 블로그를 참고하여 작성하였습니다.날짜 구하기 (Calendar) Calendar cal = Calendar.getInstance(); // 현재년도 int thisYear = cal.get(Calendar.YEAR);  // 0 : 1월 1 : 2월 int current_month = cal.get(Calendar.MONTH) + 1;  int current_day = cal.get(Calendar.DATE); // DAY_OF_MONTH 난수 구하기 (Random) // 난수관리객체 (F4를 누르면 메서드 목록이 나온다) Random random = new Random();  // 1~45 난수발생 int num = (random.nextInt(45)+1)..
2024.05.08
no image
java 보충수업
명령법(표기법) /* Pascal 표기법 : 대문자시작 + 2개이상 단어조합시 매단어 첫글자 대문자 (클래스명) Camel 표기법 : 소문자시작 + 2개이상 단어조합시 매단어 첫글자 대문자 (변수명/메소드명) int myAge; Snake 표기법 : 소(대)문자 + 2개이상의 단어조합시 _ 연결 (변수명/메소드명/상수) int my_age; 헝거리언 표기법 : 변수앞에 변수 성질나타낸다 int nAge; int nCount; boolean bOk = true; ▶ 데이터베이스에 따라서 변수 표기 방법이 다르기 때문에 숙지하고 있어야 한다. */  클래스로 데이터 만들기 클래스 : 물건을 생산하기 위한 설계도 도면 인터페이스 : 소비자가 객체를 사용방법 has a 포함 상속 is a 구현 상속 추상메서드 ..
2024.05.07
no image
java 컬렉션 프레임워크 (Set, Map)
## Set 컬렉션 List 컬렉션은 저장 순서를 유지하지만 Set 컬렉션은 저장 순서가 유지되지 않는다.  또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다 Set 컬렉션은 수학의 집합에 비유될 수 있다.  집합은 순서와 상관없고 중복이 허용되지 않기 때문이다.  Set 컬렉션은 또한 구슬 주머니와도 같다.  동일한 구슬을 두 개 넣을 수 없고, 들어갈(저장할) 때의 순서와 나올(찾을) 때의 순서가 다를 수도 있기 때문이다.                           Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있는데,  다음은 Set 컬렉션에서 공통적으로 사용 가능한 Set 인터페이스의 메소드들이다.  인덱스로 관리하지 않기 때문에 인덱스..
2024.05.03
no image
java 컬렉션 프레임워크(List)
## 컬렉션 프레임워크 ▶컬렉션(collection)- 여러 객체(데이터)를 모아 놓은 것을 의미 ▶프레임웍(framework)- 표준화, 정형화된 체계적인 프로그래밍 방식 ▶컬렉션 프레임웍(collections framework)- 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공- 객체를 저장하고, 삭제하고, 검색하고, 정렬하는데 유용하다.    애플리케이션을 개발하다 보면 다수의 객체를 저장해 두고 필요할 때마다 꺼내서 시용하는 경우가 많다.  만약 10개의 Product 객체를 저장해 두고, 필요할 때마다 하나씩 꺼내서 이용한다고 가정해보자.  어떻게 Product 객체를 효율적으로 추가, 검색, 삭제할지 고민해야 되는데,  ..
2024.05.03
no image
java 제네릭
## 왜 제네릭을 사용해야 하는가? // 제네릭 사용하지 않은 경우// Collection은 자바의 모든 객체를 저장할 수 있다.List list = new ArrayList();// 모든 타입은 Object 타입으로 업캐스팅이 되어서 저장된다.list.add("안녕");// Stringlist.add(Integer.valueOf(20)); // Integerlist.add(10.5); // Doublelist.add('A'); // Characterlist.add(true); // Booleanlist.add(10L); // Longlist.add(1.0F); // Float// 문제점 -> 몇번째 인덱스에 어떤 타입인지 일일이 알고 있어야 다운캐스팅이 가능하다.// 내가 만들면, 알 수도 ..
2024.05.03
no image
java 멀티 스레드
## 멀티 스레드 개념   - 대표적인 예시가 카카오톡 메신저이다.- 싱글 스레드를 사용하게 되면 내가 큰 용량의 이미지를 보낼 때 그 이미지가 보내질 때 까지 메세지를 상대방에게 보낼 수 없다.- 싱글 스레드는 작업을 하나하나 일일이 순서에 맞게 처리해야 뒤에 순서에 있는 데이터를 그제서야 처리할 수 있다.  -기존 싱글 스레드에서는 위 for문이 끝나야 아래 for문이 수행되는 방식이다.-순서대로 *와 #이 찍힌다는 것인데, 멀티 스레드를 사용하면, 이 과정을 동시에 진행한다.   운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스(process) 라고 부른다.  사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아  애플리케이션의 코드를 실행하는데 이것이 프로세스이다. ..
2024.05.02
no image
java 중첩 클래스
## 중첩 클래스와 중첩 인터페이스란? 객체 지향 프로그램에서 클래스들은 서로 긴밀한 관계를 맺고 상호작용을 한다.  어떤 클래스는 여러 클래스와관계를 맺지만 어떤 클래스는 특정 클래스와 관계를 맺는다.  클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나  특정 클래스와 관계를 맺을 경우에는 관계 클래스를 클래스 내부에 선언하는 것이 좋다.  중첩 클래스(Nested Class) 란 클래스 내부에 선언한 클래스를 말하는데,  중첩 클래스를 사용하면 두 클래스의 맴버들을 서로 쉽게 접근할 수 있다는 장점과  외부에는 불필요한 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다.  다음은 중첩 클래스의 코드 형태를 보여준다. class ClassName {class Neste..
2024.05.02