부트캠프 기록/Section1 27

[Java] 심화(Effective) 문제풀이/ 18일차 기록 미완

1. incompatible types: OptionalInt cannot be converted to Integer https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html Integer (Java Platform SE 7 ) Returns the value obtained by rotating the two's complement binary representation of the specified int value right by the specified number of bits. (Bits shifted out of the right hand, or low-order, side reenter on the left, or high-orde..

[Java] 심화(Effective)

스레드(Thread) 정의 프로세스: 운영체제로부터 자원을 할당받은 작원의 단위 스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 메인 스레드와 작업 스레드 스레드를 생성하는 방법 Runnable 인터페이스 구현한 객체에 run() 구현 Thread 클래스 상속 받은 하위 클래스에서 run() 구현 스레드 메서드 이름 조회: 스레드참조값.getName() 이름 설정: 스레드참조값.setName() 스레드 인스턴스의 주소값: Thread.currentThread().getName() 스레드 동기화 필요성: 여러 스레드 동일한 데이터를 공유하면 데이터를 덮어쓰는 문제 발생 가능 임계 영역과 락, 키워드 syncronized 스레드 상태와 상태 제어 메서드 생성, 실행 대기, 실행, 일시 정지, ..

[Java] 심화(Effective)/ 16일차 기록

애너테이션(Annotation) 사람에게 주석으로 정보를 제공하듯이 프로그램에게 정보를 제공하는 용도 컴파일러에게 문법 에러를 체크하도록 프로그램 빌드할 때 코드 자동 생성하도록 런타임에 특정 기능을 실행하도록 표준 애너테이션/ 메타 애너테이션 표준 애너테이션: 자바에서 기본적으로 제공, ex) @Override, @Deprecated @FunctionalInterface, @SuppressWarning 메타 애너테이션: 애너테이션을 정의하는데 사용, ex) @Target, @Documented, @Inhreited, @Retention, @Repeatable 사용자 정의 애너테이션 람다(lambda) 함수형 프로그래밍 기법을 지원하는 자바 문법 함수형 인터페이스: 원하는 메서드를 람다식으로 사용하기 위..

[Java] 컬렉션 페어프로그래밍 회고/ 15일차 기록

컬렉션 파트 페어프로그래밍을 진행했다. 내가 드라이버를 맡았다. 드라이버를 맡은 적은 두 번째이다. 이번 페어분의 네비를 경험하니 내가 네비를 했던 방식과 겹쳐 보였다. 앞으로 네비를 맡았을 때 어떻게 해야하는지 구체적으로 생각해 볼 수 있었다. 전엔 네비를 맡았을 때 전체적인 수도코드를 알려주지 않고 바로 진행을 했었는데 드라이버는 어떤 방식으로 풀지를 모르니 왜 그렇게 해야 하는지 이해를 못 했을 것 같다. 나와 페어를 했던 분들에게 심심한 사과를,... 문제를 풀면서 collection과 map의 메서드들을 적용해 보는 경험을 했다. 이론 공부와 실습은 느낌이 확연히 다르다는 걸 다시금 느낀다. 이제 페어에 조금 적응이 된 것 같다. 다음 페어 활동도 기대하면서 글을 마친다.

[Java] 컬렉션

열거형(Enum) 개념 비슷한 상수의 모음 등장배경, 장점 상수명이 중복되는 경우 컴파일 에러 => 인터페이스 사용으로 구별 가능하지만, 타입 안정성 문제 발생(== 연산자를 사용하면 두 상수의 의미가 달라도 같게 표시함) => 객체 생성으로 해결 가능하지만 코드가 길어지고, 스위치문 사용불가 => enum을 사용하면 같은 값의 구별과 스위치문 사용이 가능함 문법 요소 enum 열거형이름 {상수명1, 상수명2, 상수명3, ...} 관례적으로 대문자로 작성 자동으로 0부터 정수값이 할당 제네릭 장점 한 클래스에 다양한 타입의 인자를 전달할 수 있음 제네릭 클래스 class {...} class {...} Type,Key,Value, Element, Number, Result 해당 클래스로 만든 모든 인스턴..

[Java] 객체지향 프로그래밍 심화/ 13일차 기록

다형성 다형성의 의미와 장점 한 타입의 참조변수가 여러 타입의 객체를 참조할 수 있음 상위 클래스 타입의 참조변수를 통해 하위 클래스의 객체를 참조할 수 있도록 함 코드의 유연성 의존성을 가진 클래스에서 의존하는 클래스의 하위 클래스 참조변수마다 메서드를 작성하지 않아도 됨 참조변수의 타입변환, 업캐스팅/ 다운캐스팅 상속관계를 전제로 함 업캐스팅은 생략해도 됨 다운캐스팅은 업캐스팅이 선행됐어야 한다는 전제가 있음 업캐스팅: 상위클래스 참조변수에 하위클래스 객체를 참조하는 것, 형변환 연산자 생략 가능 다운캐스팅: 하위클래스 참조변수에 하위클래스 객체를 참조하는 것 , 형변환 연산자 생략 불가능 instanceof 타입 코드가 복잡해지면 클래스들의 종속관계를 알기 어려울 수 있음 instanceof연산자는..

[Java] 객체지향 프로그래밍 심화/ 12일차 기록

상속(extends) 상위클래스-하위클래스 개념과 장점 자식 클래스는 부모클래스의 멤버를 상속받아서 사용 => 코드의 재사용 단, 메서드는 반드시 재정의 해야함 단일 상속만 허용 포함관계와 상속관계의 차이 포함관계 : implements, has-a 상속관계: extends, is-a 메서드 오버라이딩 하위클래스가 상위클래스의 메서드를 재정의하는 것 가상 메서드 테이블 메서드이름, 매개변수와 리턴타입이 같아야 함 오버로딩과 오버라이딩의 차이 하위 클래스는 상위 클래스한테 상속받은 메서드를 반드시 제공해야함 super 와 super() 의 차이 super: 상위클래스를 나타냄 super(): 상위클래스의 생성자 호출 this, this() 와 유사점 자바 클래스의 상속계층도 최상단에 있는 Object 클래..

[Java] 객체지향 프로그래밍 기초/10- 11일차 기록

클래스와 객체 (≒설계도와 제품) 클래스: 객체를 생성하는데 사용되는 틀 객체와 인스턴스의 차이: 객체가 인스턴스를 포함하는 포괄적인 의미를 가짐, 인스턴스는 클래스와의 관계를 강조 클래스의 4가지 요소: 필드, 메서드, 생성자, 이너클래스 객체는 크게 속성과 기능으로 구성됨 클래스명 참조변수명; //참조변수는 스택에 저장 참조변수명 = new 생성자(); //생성된 객체를 힙에 저장 필드와 메서드 세가지 종류의 변수: 클래스 변수, 인스턴스 변수, 지역 변수 각각의 변수가 저장되는 위치, 그 차이 클래스 영역 - 메서드, 스태틱 변수 클래스 영역에 데이터 공간을 공유 => 객체 생성과 상관없이 언제든 사용가능 힙 영역 - 객체(필드, 메서드, 이너클래스) 메서드는 클래스 영역에 저장되고, 힙 영역에서는..

[자바]기초/ 9일차 기록

배열 동일한 타입의 값들을 묶은 자료 구조 메모리셀은 1바이트의 메모리 공간을 가짐 참조타입 Arrays.toString() 기본값 : 0, null, false 1차원 배열 int[] numbers = new int[10]; //선언과 초기화 같이 2차원 배열 배열의 요소가 배열인 경우 boolean [][] isTrue; isTrue = new boolean[4][2]; // 4행 2열 가변 배열 마지막 차수에 해당하는 배열의 길이를 고정하지 않아도 됨 각 행들의 열의 수가 다를 수 있음 배열탐색 for문, while문, 향상된 for문 향상된 for문은 배열 요소의 값을 바꿀 수 없음 (얕은 복사/ 깊은 복사) System.arraycopy(,,,,); //리턴없음 void Arrays.copyOf..

[Java] 기초/8일차 기록

조건문 if , (else if), else switch :case는 정수만 가능 continue, break 반복문 for문 향상된 for문 : int[] numbers = {1, 2, 3}; for(int i: numbers){}; while문 do-while :처음 한 번은 무조건 실행 문자열 중 한글자를 인덱스로 확인하고 싶으면 charAt() equals 는 char 형 변수에 사용할 수 없음 문자열 + int형 변수를 계산하면 아스키코드변환없이 int형이 string으로 바뀜 /반복문 14번 문제 소수 특징 2를 제외하면 모두 홀수이다 양의 제곱근을 기준으로 대칭이다