프로그래밍 41

[자바 문법] Character 클래스

Oracle Java SE 8 버전의 내용입니다. ※ 현재 작성 중입니다. Character Object 클래스를 상속(extends) 받고 있다. Serializable과 Comparable 인터페이스를 구현하고 있다. 원시 타입(primitivice type) char 를 감싸고(wraps)하고 있는 클래스리소 char 타입이라는 하나의 필드(single field)를 가지고 있다. 수 많은(a lagre number of) ★ static methods (정적 메서드) ★를 제공하고 있다. => 즉, Charater.toUpperCase 와 같이 사용을 주로 한다. 특징 char 타입은 original Unicode specification 을 기본으로 하고 있다. 메소드 숫자인지 아닌지 판단 Ch..

[자바 문법] 어노테이션(Annotation)

똑똑한 chat GPT와 다른 사람의 블로그 등을 읽고 이해한대로 정리한 내용입니다. 어노테이션(Annotation)? 자바 코드에 메타데이터(metadata)를 추가하기 위한 것으로, 컴파일러, 런타임 시스템, 개발 도구 등에 의해 사용됩니다. 어노테이션은 주석(comment)과 유사하지만, 주석은 컴파일되지 않으며 단순히 코드의 설명을 제공하는 역할을 하지만, 어노테이션은 컴파일되어 클래스 파일에 저장되며 실행 시에 사용된다. 메타 데이터(Meta Data)? 메타 데이터는 해당 데이터의 특성, 속성, 구조, 관계 등을 기술하는 데이터입니다. 즉, 메타 데이터는 데이터를 설명하는 데이터라고 할 수 있습니다. 예) 사진 파일의 메타 데이터에는 파일 크기, 파일 형식, 촬영 일자, 위치 정보 등이 포함됩..

[Python] 해시 테이블(Hast Table)

해시 테이블 👉 key - value 데이터 하나의 key와 그 key 에 해당하는 value를 합쳐서: key - value 쌍 이라고 한다. 하나의 key 에는 하나의 value 만 있어야 한다. 👉 Direct Access Table 인덱스 대신 key 를 사용한다고 보면 된다. 사용하는 인덱스는 5 이지만, 배열의 크기는 943개를 사용하고 있다. 효율적으로 key -value 쌍을 저장하고 가져올 수 있지만, 낭비하는 공간이 너무 커진다. 👉 해시 테이블 개념 해시 함수 특정 값을 원하는 범위의 자연수로 바꿔주는 함수 해시 함수의 조건 해시 테이블의 해시 함수는 결정론적이어야 된다. 똑같은 key를 넣었을 때, 항상 똑같은 결과가 나와야한다. 결과 해시값이 치우치지 않고 고르게 나온다. 아무 숫..

[Java] 배열(Array)

★ 본 내용은 "코드잇의 자바 객체지향 프로그래밍" 및 " 김영한의 자바 입문" 을 듣고 정리한 내용입니다. ★ 배열이란?같은 타입의 여러 변수를 하나의 묶음으로 다루는 것참조변수(score)를 통해서 배열을 관리연속적으로 붙어있다.크기를 변경할 수 없는 정적 배열이다.int[] score = {10, 20, 30, 40, 50}배열 선언 및 생성배열을 선언하고 생성을 해야만 메모리 공간(저장)이 할당된다.int[] score; // 1. 배열 score를 선언(참조변수)score = new int[5]; // 2. 배열의 생성(int 저장공간)int[] score = new int[5]; // 3. 배열 선언과 생성을 동시 배열 초기화배열의 각 요소에 처음으로 값을 저장하는 것⭐ 배열을 선언과 생성만 ..

숏서킷 연산(Short-Circuit Evaluation)

💡 본 내용은 코드잇의 자바 객체지향 프로그래밍을 듣고 정리한 내용입니다. 👉 And 연산(&&) boolean newBoolean = m1() && m2() && m3(); newBoolean 이 true가 되기 위해서는 m1, m2, m3 모두 true 를 리턴해야한다. 따라서, m1이 false를 return 하면 m2, m3의 결과와 상관없이 false를 리턴하게 된다. 이렇게 식의 결과값이 이미 결정된 경우 미리 멈추는 것을 "솟서킷 연산(Short-Circuit Evaluation)" 이라고 한다. 👉 Or 연산(||) boolean newBoolean = m1() || m2() || m3(); newBoolean 이 true 이기 위해서는 모두 true가 되어야한다. 하나라도 false 이면..

[자바 문법] 기본형 vs 참조형

💡 본 내용은 코드잇의 자바 객체지향 프로그래밍을 듣고 정리한 내용입니다. 자바의 변수에는 두 가지 종류가 있다. 하나는 기본형(Primitive Type)과 참조형(Reference Type) 이다. 기본형(Primitive Type) 변수가 값 자체를 보관 1bit = 2진수 1자리 / 1byte = 8bit 논리형(1byte) true, false 문자형 Char(2byte) 정수형 byte(1byte), short(2byte), int(4byte), long(8byte) 실수형 float(4byte), double(8byte) int a = 3; int b = a; System.out.println(a); // 3 출력 System.out.println(b); // 4 출력 a = 4; Syste..

Java?

💡 본 내용은 생활코딩의 Java 입문 수업을 듣고 정리한 내용입니다. 자바란? 객체 지향적(Object-oriented) 자바는 숫자(int, float, long 등)나 논리값(true, false)을 제외한 거의 모든 것이 객체로 구성되어 있다. 실제로 자바는 Object 클래스에서 모든 클래스를 파생한다. 인터프리터 언어(Interpreted) 정확하게 말하면 컴파일 언어인 동시에 인터프리터 언어이다. ★먼저 텍스트 소스를 컴파일하여 2진 파일(클래스 파일)로 만든 다음 자바 런타임이 클래스 파일을 인터프리트하면서 실행한다. 시스템에 무관한 2진 파일을 만듬으로써 자바는 컴파일 언어에 가까운 속도와 시스템 독립성을 동시에 얻을 수 있었다. 강력하다(robust) 자바는 포인터 연산을 지원하지 않는..

[Python] 링크드 리스트(Linked List)

💡 본 내용은 코드잇 기본 자료구조들 강의 및 신찬수 교수님의 자료구조 강의를 들고 요약한 내용입니다. 내용이 부족하거나 잘 못 될 수 있습니다. 추후 계속 공부하면서 수정하겠습니다~!! 링크드 리스트(Linked List) 데이터를 순서대로 저장해준다. 요소를 계속 추가할 수 있다.(동적 배열처럼) 연결된 박스(노드)들의 순서: 규리 → 태호 → 동욱 →유나 → 현승 👉프로그래밍적으로 생각 노드(Node): 데이터와 Next 의 객체이다. 연속적으로 되어 있는 것이 아닌 실제 메모리에는 ★흩어져★ 있다. # ------------- 간단한 링크 노드 ------------------- class Node: """링크드 리스트의 노드 클래스""" def __init___(self, data): self...