Java의 정석 의 책을 읽고 정리한 내용입니다. 객체지향언어의 주요 특징(1) 코드의 재사용성이 높다.새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.(2) 코드의 관리가 용이하다.코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있
Java의 정석 의 책을 읽고 정리한 내용입니다. 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 새로작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends와 함께 써 주기만 하면 된다.조상 클래스상속해주는 클래스
Java의 정석 의 책을 읽고 정리한 내용입니다. 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다.이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. Exception클래스와 RuntimeException클래스 중
Java의 정석 의 책을 읽고 정리한 내용입니다. java.lang패키지의 클래스들은 import문 없이도 사용할 수 있다. ✔ equals(Object obj)매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean값으로 알려준다.서로 다른 두 개의 객
Java의 정석 의 책을 읽고 정리한 내용입니다. 컬레션 프레임웍 : 데이터 군을 저장하는 클래스들을 표준화한 설계를 뜻한다.컬렉션 : 다수의 데이터, 데이터 그룹프레임 웍 : 표준화된 프로그램 방식을 의미 컬렉션 클래스 : Vector와 같이 다수의 데이터를 저장할
Java의 정석 의 책을 읽고 정리한 내용입니다. Comparable을 구현한 클래스들이 기본적으로 오름차순으로 정렬되어 있지만 , 내림차순으로 정렬한다던가 아니면 다른 기준에 의해서 정렬되도록 하고 싶을 때 Comparator를 구현해서 정렬기준에 제공할 수 있다.A
Java의 정석 의 책을 읽고 정리한 내용입니다. TreeMap은 이름에서 알 수 있듯이 이진검색트리의 형태로 키와 값의 쌍으로 이루어진 데이터를 저장한다. 그래서 검색과 정렬에 적합한 컬렉션 클래스이다.검색에 관한 대부분의 경우에서 HashMap이 TreeMap보다
Java의 정석 의 책을 읽고 정리한 내용입니다. 다양한 타입의 객체들을 메서드나 컬렉션 클래스에 컴파일 시의(compile-time type check)를 해주는 기능타입 안정성을 높인다는 것 : 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올
Java의 정석 의 책을 읽고 정리한 내용입니다. 열거형 : 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다.자바의 열거형은 타입에 안전한 열거형이라서 실제 값이 같아도 타입이 다르면 컴파일 에러가 발생한다.열거형은 값뿐만 아
Java의 정석 의 책을 읽고 정리한 내용입니다. 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이 바로 애너테이션이다.애너테이션은 주석(comment)처럼 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보
Java의 정석 의 책을 읽고 정리한 내용입니다. ✏️ 프로세스란?프로세스란 간단히 말해서 실행 중인 프로그램이다.멀티쓰레드 프로세스(multi-threaded process) : 둘 이상의 쓰레드를 가진 프로세스 💡 참고쓰레드를 프로세스라는 작업공간(공장)에서 작업
멀티쓰레드 프로세스의 경우 여러 쓰레드가 같은 프로세스 내의 자원을 공유해서 작업하기 때문에 서로의 작업에 영향을 주게 된다. 한 쓰레드가 특정 작업을 끝마치기 전까지 다른 쓰레드에 의해 방해받지 않도록 하는 것이 필요하다. 그래서 도입된 개념이 바로 임계 영역(cri
✔️ 소스 ✔️ 결과 A의 자식 left, right를 change라는 메서드의 매개변수로 주고 나서, 좌우 위치를 변경하였다.다만, 바꾸고나서 main메서드에서 출력결과 변경되지 않았다고 한다. 이유는 간단하다. a라는 레퍼런스 변수 자체를 heap영역에 넘길시 변
Java의 정석 의 책을 읽고 정리한 내용입니다. 람다식(Lambda expression) : 간단히 말해서 메서드를 하나의 식(expression)으로 표현한 것이다.람다식을 익명함수(anonymous function)이라고도 한다.이 람다식이 하는 일을 메서드로 표
Java의 정석 의 책을 읽고 정리한 내용입니다. 📚 2. 스트림(stream) > 스트림 : 데이터소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. > * 데이터 소스를 추상화했다는 것은, 데이터 소스가 무엇이던 간에
Java의 정석 의 책을 읽고 정리한 내용입니다. Optional<T>은 지네릭 클래스로 T타입의 객체를 감싸는 래퍼 클래스다.그래서 Optional타입의 객체에는 모든 타입의 참조변수를 담을 수 있다.최종 연산의 결과를 그냥 반환하는 게 아니라 Optional객
Java의 정석 의 책을 읽고 정리한 내용입니다. collect()는 스트림의 요소를 수집하는 최종 연산으로 앞서 배운 리듀싱(reducing)과 유사하다.collect()가 스트림의 요소를 수집하려면, 어떻게 수집할 것인가에 대한 방법이 정의되어 있어야 하는데, 이
Iterable 객체 - 반복 가능한 객체대표적으로 iterable한 타입 : list, dict, set, str, bytes, tuple, rangeiterable한 타입을 확인하는 방법collections.iterable에 속한 instance인지 확인 : isi
내부 함수 : 함수 안에 함수가 있는 형태lambda, map()ex)outFunc() 함수 밖에서 inFunc()함수를 호출하면 오류가 발생한다. lambda 함수 : 함수를 한 줄로 간단하게 만들어 준다.lambda 매개변수1, 매개변수2, ... : 매개변수를
파일 입출력(1) 파일 열기읽기용 : 변수명 = open("파일명","r")쓰기용 : 변수명 = open("파일명","w")(2) 파일 처리(3) 파일 닫기변수명.close(); 모드(Mode) : open() 함수의 마지막 매개변수생략 : r과 동일하다.r : 읽기
(1) PyQt동일한 파이썬코드를 사용하여 윈도우즈, Mac, 리눅스에서 모두 동작하는 GUI 프로그램을 작성하나의 언어에서 작성된 라이브러리나 서비스를 다른 언어에서 사용할 수 있도록 하는 것을 Language Binding 이라 한다. PyQt는 Qt의 Python
데이터를 표현하는 속성(attribute)와 행위를 표현하는 메서드(method)를 포함하는 논리적인 컨테이너객체컴퓨터 시스템에서 다양한 기능을 수행하도록 속성과 메소드를 가진 요소type() : 객체의 자료형을 반환id() : 객체의 id를 반환 n + 100 ==
파이썬의 과학계산을 위한 가장 기본적인 라이브러리행렬, 벡터 연산을 위한 사실상의 표준 라이브러로 빠른 처리속도가 장점다차원 배열과 행렬 객체가 포함ndarray를 핵심으로 선형대수 연산이 필요한 알고리즘에 사용리스트보다 NumPy의 배열이 훨씬 빠르다.NumPy의 핵
Anacondaconda install pandas Pandas의 특징1) 빠르고 효율적이며 다양한 표현력을 갖춘 자료구조실세계 데이터 분석을 위해 만들어진 파이썬 패키지2) 다양한 형태의 데이터에 적합이종 자료형의 열을 가진 테이블 데이터 시계열 데이터레이블을 가진
regular expression: 특정한 패턴과 일치하는 문자열을 '검색', '치환', '제거'하는 기능을 지원raw string문자열 앞에 r이 붙은면 해당 문자열이 구성된 그대로 문자열로 반환abcdefabcdef\\n 첫 번째로 패턴을 찾으면 match 객체를
소수부가 0일 때 0을 생략실수형 데이터를 표현하는 방식으로 파이썬에서는 e나 E를 이용한 지수 표현 방식을 이용할 수 있다.유효숫자e^지수 = 유효숫자 x 10^지수컴퓨터가 실수를 정확히 표현하지 못한다round(a,b)a : 실수형 데이터, b : 반올림하고자 하는
a, b =input().split() : 공백을 기준으로 입력된 값들을 나누어 자른다.n = ord(input()) : 입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.ord() : 어떤 문자의 순서 위치 값을 의미한다.ord(c) : 문자 c를
파이썬을 파이썬답게 을 참고하여 정리한 내용입니다. ✔️ 시작하기에 앞서iterable : 자신의 멤버를 한 번에 하나씩 리턴할 수 있는 객체입니다. list, str, tuple, dict 등이 여기에 속합니다.sequence : int 타입 인덱스를 통해, 원소에
pypy로 실행하는 것은 python 코드를 컴파일 하여 실행하기 때문에 그 과정을 거치며 속도는 빨라지지만 사용량이 증가한다는 특징이 있다.간단한 문제는 python, 생각할 게 많은 문제이면 pypy 백트래킹 - 나무위키 에 따르면🔔 DFS와 BFS 언제 사
딕셔너리를 리스트로 변경한 후, 정렬 하기 결과 key와 value로 저장되어 있는 딕셔너리가 있다.삭제하고자 하는 데이터가 list에 저장되어 있을 때, 이를 이용해 딕셔너리 key 값을 삭제한다. ex) key가 2의 배수를 삭제하고 싶다. 결과
✔ 한줄씩 입력 ✔ String.format()리턴되는 문자열의 형태를 지정하는 메서드서식 문자열의 앞에 %를 붙여 문자열에 사용하면 그 위치에 변수의 값을 형식화 하여 대입 가능하다. ✔ java 한줄 입력받고 하나씩 출력하기문자열에서 문자를 하나씩 자를 때는 spl
✔ stackstack.push(1); : stack에 값 1 추가stack.pop(); : stack에 값 제거stack.clear(); : stack의 전체 값 제거 (초기화)stack.peek(); : stack의 가장 상단의 값 출력stack.size(); :
일반적인 정렬을 할 때는 어떠한 자료형이든 상관없다. 역정렬을 할 때는 참조형 자료형을 사용해야 한다.람다식을 사용
✔️ 순열이란?서로 다른 n개의 원소 중 r개를 순서 있게 골라낸 것경우의 수 : n! / (n-r)!ex) ✔️ Algorithm단순 배열을 이용하여 구현 참조형을 사용하여 구현 ✔️ 중복 순열이란?서로 다른 n개의 원소 중 r개를 순서를 지키며 골라 낸 것 중 중
벨로퍼트와 함께하는 모던 자바스크립트 문서를 참고한 후 정리한 내용입니다. JavScript는 웹 브라우저에서 사용하기 위하여 만들어진 프로그래밍 언어 💡 참고실행 : cmd + ctrl + n let : 변수console : 상수선언 : 특정 이름에 특정 값을
javascript 문서 를 참고했습니다. ES6 문법이 아니다.이와 같이 text값이 달라야 하는 상황이 있을 때💡 참고삼항 연산자 : 조건 ? true일 때 : false일 때 ✔️ 삼항 연산자 중첩이와 같은 코드는 피하는 것이 좋다.이와 같이 사용할시, if문을
동기(synchronous) : 앞의 일이 끝나야 다음일을 처리할 수 있다.비동기(asynchronous) : 각자의 일을 처리하고 서로에게 영향을 주지 않는다.사진 참고 : https://velog.io/@hyksmine/call-back..-i4k1xple
🧐 왜 이 글을 작성하게 됐을까?반복문, 조건문이 필요할 때마다 기초 교과서처럼 하면, 가독성이 떨어지는 점을 개선하기 위해 작성하게 되었다. ✔️ Stream이란?Java8부터 추가된 기능수많은 데이터의 흐름 속에서 각각의 원하는 값을 가공하여 최종 소비자에게 제공