본문 바로가기

개발209

(자바) 중첩 map 사용 법 key값 : 홍길동 value : 김유신 28, 김구 28 key 값 : 김유신, 김구 value : 28 28 아래와 같이 사용하게 되면, 하나의 키 값이 값을 2개를 갖는 형식으로 사용할 수 있다. Map outMap = new HashMap(); Map innerMap = new HashMap(); outMap.put("홍길동", innerMap); innerMap.put("김유신", 28); innerMap.put("김구", 28); System.out.println(outMap); System.out.println(outMap.get("홍길동")); System.out.println(outMap.get("홍길동").get("김유신")); System.out.println(outMap.get("홍.. 2022. 4. 10.
자바 컬렉션 (Set, List, Map) 자바 컬렉션 - 컬렉션은 자료형이 다른것도 담을 수 있다 - 컬레션은 동적인 배열로써 자료의 추가, 삭제가 용이하다 - 데이터를 담는 것 만큼 혹은 데이터를 삭제하는 것 만큼 자동으로 크기가 늘어나고 줄어든다 Set 중복된 자료를 허용하지 않음 HashSet - 중복불가, 순서를 유지하지 않음 LinkedHashSet - 중복불가, 순서 유지 TreeSet - 정렬시켜줌 TreeSet에서 유용한 함수 1. subSet(1, 10) - set 배열에서 1~9가지의 숫자를 반환 가능 List 중복된 자료를 허용 , 순서 유지 ArrayList - 중복된 자료를 허용 , 순서 유지 LinkedList - 중복된 자료를 허용 , 순서 유지 이 두개는 사용법이 동일하나 내부 로직이 조금 다름. ArrayList에.. 2022. 4. 9.
(Java)10일차 예외 처리( try~catch ) try { 정상 명령문; } catch(예외 클래스 e) { 예외 시 명령문; } catch(예외 클래스 e) { 예외 시 명령문; } 프로그램 실행 중에 사용자의 부주의 등으로 인하여 예기치 않는 상황이 발생하는 것을 "예외"라고 하며 이것을 처리하는 것을 "예외 처리"라고 한다. 자바에서 range 범위 초과나 기타 에러가 발생하였을 경우에 예외처리를 하여 오류 시 프로그램이 비정상 종료되는 것을 막을 수 있다. 하나의 try 안에 여러개의 catch가 올 수 있다. 근데 각 동작마다 예외처리를 주게되면 너무 타이트하고 코드 가독성이 떨어지고 비효율적이므로, 가장 부모 클래스인 Exception하나만 이용하여 모든 예외처리를 할 수 있다. 근데 또 이렇게 되면 너무 .. 2022. 4. 8.
p370) 3번 문제 - 가위바위보 Random을 이용하여 0,1,2를 가위,바위,보 맵핑하고 아래와 같이 출력하면 됨 하나를 선택하십시오: 가위(0), 바위(1), 보(2) : 1 컴퓨터는 바위를 냈습니다. 비겼습니다. Random r = new Random(); int com_n = r.nextInt(3); //랜덤하게 0,1,2 값 저장 (컴퓨터가 낸 가위, 바위, 보 중 하나) String str[] = {"가위", "바위", "보"}; // 가위바위보를 0,1,2와 맵핑하기 위해 String str1=""; // 가위바위보를 맵핑 후 컴퓨터의 값이 저장되는 변수 Scanner sc = new Scanner(System.in); System.out.println("가위(0), 바위(1), 보(2): "); int n = sc.nex.. 2022. 4. 7.
자바 예외처리 (try~catch) 예외 처리( try~catch ) try { 정상 명령문; } catch(예외 클래스 e) { 예외 시 명령문; } catch(예외 클래스 e) { 예외 시 명령문; } 프로그램 실행 중에 사용자의 부주의 등으로 인하여 예기치 않는 상황이 발생하는 것을 "예외"라고 하며 이것을 처리하는 것을 "예외 처리"라고 한다. 자바에서 range 범위 초과나 기타 에러가 발생하였을 경우에 예외처리를 하여 오류 시 프로그램이 비정상 종료되는 것을 막을 수 있다. 하나의 try 안에 여러개의 catch가 올 수 있다. 근데 각 동작마다 예외처리를 주게되면 너무 타이트하고 코드 가독성이 떨어지고 비효율적이므로, 가장 부모 클래스인 Exception하나만 이용하여 모든 예외처리를 할 수 있다. 근데 또 이렇게 되면 너무 .. 2022. 4. 7.
Wrapper 클래스 Wrapper 클래스 각 기본 자료형에 따른 클래스들을 말함 해당 클래스를 이용하여 형 변환 가능 [Wrapper클래스명].parseXXX( [변환할 변수] ) ex) Integer.parseInt(변수명) Double.parseDouble(변수명) 자료형 Wrapper 클래스 boolean Boolean char Character byte Byte short Short int Integer long long float Float double Double 2022. 4. 7.
char - int (다른 자료형 끼리 연산) Char 변수 빼기(마이너스, -) int 변수 char - int (다른 자료형 끼리 연산) 'A' - 65 == 0 이 나옴 'a' - 97 == 0이 나옴 'A' - 65 는 아래 코드와 같이 0이 출력된다. 숫자형을 char로 형변환 하면 해당하는 아스키 코드 값이 출력 됨. (반대도 성립) integer 타입의 숫자 65는 -> 문자 'A'로 출력 int data = 65; //대문자 A 정수 값 int data2 = 97; //소문자 a 정수 값 System.out.println((char)data); System.out.println((char)data2); System.out.println('A'-65); System.out.println('a'-97); 2022. 4. 7.
자바 String 처리 방법 자바 String 처리 일반 String 특성은 변하지 않는 문자열 예를들어 string에 더하기 연산을 하게 되면 새로운 객체를 생성하게 되고 참조 변수는 새로운 메모리를 참조 이전에 참조하던 메모리는 더이상 참조되지 않는 garbage가 됨 그래서 String은 변하지 않을 것 같은 문자열만 처리하는게 좋다 StringBuffer 특성은 변하는 문자열 StringBuffer는 String과 다르게 원래 객체에 배열을 추가 append()함수를 이용하여 문자열을 추가할 수 있음 StringBuffer를 String으로 받는 방법 1. new String(stringbuffer) -> StringBuffer형식을 String으로 받고 싶을 때 2. stringBuffer.tostring() -> to.s.. 2022. 4. 7.
익명 클래스를 이용한 추상클래스 객체 생성 방법 익명 클래스 객체 생성 시 'ctrl' + 'space' -> 'Anonymous Inner Type' 클릭 원래 추상클래스는 객체를 만들 수 없다. 왜 생성할 수 없냐면 추상메소드를 선언만 하고 정의하지 않았기 때문인데, 추상클래스를 객체로 만들고 싶다면 객체 생성 시에 추상메소드를 정의하면 된다. 추상클래스를 상속받은 클래스를 정의하는데 따로 이름을 정해주지 않고 바로 추상메소드를 오버라이딩한 클래스를 만들면서 바로 객체를 생성할때에 객체를 생성함과 동시에 추상메소드를 정의할 수 있음 예시 코드 Movable이라는 interface에 추상 메소드 2개가 존재 main에서 interface를 선언함과 동시에 구현까지 같이 해버림 public interface Movable { public void le.. 2022. 4. 7.
(Java) 9일차 익명 클래스 객체 생성 시 ctrl + space -> Anonymous Inner Type 원래 추상클래스는 객체를 만들 수 없다. 왜 생성할 수 없냐면 추상메소드를 선언만 하고 정의하지 않았기 때문인데, 추상클래스를 객체로 만들고 싶다면 객체 생성 시에 추상메소드를 정의하면 된다. 추상클래스를 상속받은 클래스를 정의하는데 따로 이름을 정해주지 않고 바로 추상메소드를 오버라이딩한 클래스를 만들면서 바로객 체를 생성할때에 객체를 생성함과 동시에 추상메소드를 정의할 수 있음 객체 생성과 동시에 추상 메소드 정의 인터페이스 (interface) 다중 상속의 효과를 기대할 목적으로 "인터페이스"를 사용 다중 상속을 하려면 클래스는 말고 인터페이스를 사용 해야한다. 인터페이스는 상수와 추상 메소드로로 구성 인터.. 2022. 4. 7.
(자바)값에 의한 호출 vs 참조에 의한 호출 Call By Value (값에 의한 호출) 메소드 호출 시에 기본 자료형이 전달되는 것을 말하며, 메소드 안에서 전달된 값이 변경되더라도 호출하는 쪽에서는 변경된 내용이 적용되지 않음 class Exam01{ //정수형 변수 하나를 매개변수로 전달받아 1 증가 시키는 메소드 public static void plusOne(int n) { n=n+1; System.out.println(n); System.out.println("메소드 안에서 값을 변경하였습니다."); } } public class CallByValueTest { public static void main(String[] args) { // TODO Auto-generated method stub int age; age=28; Exam01.. 2022. 4. 5.
(Java) 7일차 메소드의 중복(Method Overloading) - 동일한 메소드 명이라도 자료형이나 매개변수의 개수가 다를 경우 다른 메소드로 취급 배열 매개변수로 넘기기 - arr배열을 그대로 매개변수로 넘김 int []arr = {6,2,3,9,7}; System.out.println(util.getMax(arr)); class 변수, class 메소드 static 변수, static 메소드 = 정적변수, 정적 메소드라고도 부름 class 변수 멤버변수 앞에 static 키워드가 붙어있는 변수를 말하며 객체 생성을 하지 않고 사용할 수 있음. class 메소드 메소드명 앞에 static 키워드가 붙어있는 메소드를 말하며 객체 생성을 하지 않고 사용할 수 있음 모두 클래스 이름으로 접근 가능하다. 클래스명.속성 c.. 2022. 4. 5.
VS code에 리액트 설치하기 1. Node JS 설치 (https://nodejs.org/ko/) npm 툴을 사용하기 위해 NodeJS를 일단 다운로드 Create React App을 쉽게 설치하기 위해 npm 다운 2. VS Code 설치(https://code.visualstudio.com/) 3. React에서 사용 할 폴더 생성 Vscode 실행 후 좌측 상단 file - open folder - 선택 후 3번에 React에서 사용할 폴더 선택 4. 하단 터미널 명령어 입력하여 React 다운로드 npx create-react-app blog 4.1 만약 설치 에러 나면 재부팅 후 다시 시도 5. 다운 완료 되면 아래와 같이 blog 폴더가 하나 생성됨 6. VS Code 실행 후 '파일' - '폴더 열기' 에 다운받아진 .. 2022. 4. 4.
Java) getter, setter getter, setter 자바에서는 멤버변수에 직접 접근을 허용하지 않고 getter, setter를 이용하여 접근한다. 그 이유는 변수값에 직접 접근하게 되면 값이 변하게 되고 그러면 데이터 무결성이 깨질 수 있기 때문이다. public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } 2022. 4. 4.
Class, 객체 지향 프로그래밍(OOP) 클래스(Class) 기본 자료형 만으로는 프로그램하기 번거로워서 새로운 자료형의 개념으로 직접 만들어서 사용 객체 지향 프로그래밍 (Object Oriented Programming, OOP) 현실 세계의 모든것을 객체화 할 수 있다. 눈에 보이는 것일 수도 있고, 눈에 보이지 않는 개념적인 것일 수도 있음. 속성(데이터), 동작(기능)을 분석하여 클래스로 만들어야한다 사람 Person 속성 (멤버 변수) 이름 String name "홍길동" 나이 int age 20 동작 (멤버 메소드) 먹다 void eat(String food) 씻다 void wash(String soap) 객체는 new를 이용하여 생성 Person kim = new Person(); 스택, 힙 일반 자료형의 변수들은 스택에 저장 되.. 2022. 4. 4.
반응형