JAVA
-
[Java] Enum (열거형), Annotation (애너테이션)JAVA 2022. 8. 31. 14:04
Enum은 관련된 상수들을 같이 묶어 놓은 것을 의미합니다. Enum // Enum 사용 x class Card{ // 무늬 static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; // 숫자 static final int TWO = 0; static final int THREE = 1; static final int FOUR = 2; final int kind; final int num; } 이 경우에 if(Card.CLOVER == Card.TWO)를 하면 true가 나오지만 이것은 의미적으로 맞지 않습니다. CLOVER은 무늬이고 TWO는 숫자인데 이걸..
-
[Java] 비트 연산자(AND)로 홀수 짝수 구분하기JAVA 2022. 8. 30. 17:02
비트 연산자에는 AND(&), OR(|), XOR(^) 이렇게 3가지가 있습니다. 이 외에도 비트 반전(~), SHIFT 연산()이 있습니다. 비트 연산자로 홀수 짝수 구분하기 class Test{ boolean check(int x){ return ((x&1) == 1); } } 실행 과정 예를 들어 매개변수 x에 3이 대입되었다고 가정한다. 3은 2진수로 0011이 된다. 0011 & 0001을 계산하면 결과는 2진수로 0001, 10진수로 1이 나온다. 1 == 1은 같기 때문에 true를 반환한다. 예를 들어 매개변수 x에 4가 대입되었다고 가정한다. 4는 2진수로 0100이 된다. 0100 & 0001을 계산하면 결과는 2진수로 0000, 10진수로 0이 나온다. 0 == 1은 다르기 때문에 f..
-
[Java Note] 객체지향 개념 기초 요약본JAVA 2022. 8. 29. 17:52
객체지향 객체지향은 코드의 재사용성을 높이고 관리를 수월하게 해서 신뢰성 높은 프로그램의 개발이 가능하다. 객체지향 - 클래스, 객체 클래스란 객체를 정의해 놓은 것이며 객체는 실제로 존재하는 개념이다. 객체와 인스턴스 객체(Object)는 인스턴스(Instance)를 포함하는 일반적인 의미이다. 인스턴스화(Instantiate) 클래스로부터 인스턴스를 생성하는 것을 말한다. 클래스명 참조 변수명; // 객체를 다루기 위한 참조 변수 선언 클래스명 참조 변수명 = new 클래스명( ); // 객체 생성 후 해당 객체의 주소를 참조 변수에 저장 하나의 인스턴스 주소를 여러 개의 참조 변수들이 가지는 것은 가능 여러 개의 인스턴스 주소를 하나의 참조 변수가 가지는 것은 불가능 객체의 구성요소 - 속성과 기능..
-
[Java] 제네릭(Generics) 정의 선언 사용 제한 메서드 형변환JAVA 2022. 8. 26. 10:17
Generics 정의 컴파일 시 타입을 체크해 주는 기능으로 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여준다. Generics 선언 클래스를 작성할 때 Object타입 대신 T와 같은 타입변수를 사용한다. class Box{ Object item; void setItem(Object item){this.item = item;} Object getItem(){return item;} } // Generics 클래스의 선언 class Box{ T item; void setItem(T item){this.item = item;} T getItem(){return item'} } 참조변수, 생성자에 T대신 실제 타입을 지정하면 형변환을 생략할 수 있다. Box b = new Box(); // 타입 T ..
-
[Java]제한된 Generic 클래스JAVA 2022. 8. 25. 10:24
extends를 이용해 타입을 제한 하기 class Test{} 이 경우에는 모든 타입이 저장가능하다. class Fruit{} class Apple extends Fruit{} class FruitBox{} FruitBox Test = new FruitBox(); // OK FruitBox Test = new FruitBox(); // OK FruitBox Test = new FruitBox(); // Error! 이 경우에는 Fruit를 포함해서 Fruit의 자식 타입만 사용할수 있게 된다. 인터페이스의 경우에도 extends를 사용한다. interface Eatable{ } class FruitBox{ } class FruitBox { } - Fruit를 포함한 자식 타입이거나 Eatable를 구현..
-
Java로 만든 RPG 게임JAVA 2022. 8. 23. 18:15
cmd로 할 수 있는 1회용 랜덤 rpg 게임 import java.util.*; import java.text.*; // RPG class HelloWorld { public static void main(String[] args) { String[] Mlist = {"Java","Javascript","C++","Python","Golang","TS"}; HashSet Mset = new HashSet(); System.out.println("Game Start============================="); Scanner s = new Scanner(System.in); System.out.printf("enter a name ==> "); String name = s.nextLine();..
-
Java로 만든 스케줄 관리 프로그램JAVA 2022. 8. 23. 16:49
Java로 cmd에서 1회용으로 사용하는 프로그램 import java.util.*; import java.text.*; class HelloWorld { public static void main(String[] args) { HashMap map1 = new HashMap(); HashMap map2 = new HashMap(); int i = 0; System.out.printf("Please fill out the schedule.\n\n"); Scanner s = new Scanner(System.in); while(true){ System.out.printf("Q: Exit || L: Look || W: write || R: remove || T: EndList ==> "); String in..
-
Collections & Collection class 정리JAVA 2022. 8. 23. 11:59
Collections는 Collection을 위한 static 메서드를 제공하는 것을 말합니다. 컬렉션 채우기, 복사, 정렬, 검색 : fill(), copy(), sort(), binarySearch() Collection의 동기화 - synchronizedXXX() static Collection synchronizedCollection(Collection c) static List synchonizedList(List list) static Set synchonizedSet(Set s) static Map synchronizedMap(Map m) static SortedSet synchronizedSortedSet(SortedSet s) static SortedMap synchronizedSorte..