[Java] 동일성(identity)와 동등성(equality)
·
🔻Language/Java
❗동일성과 동등성 동일성(identity)두 객체의 메모리 주소(참조값)가 같은지를 확인하는 것자바에서 == 연산자를 통해 동일성을 비교동등성(equality)두 객체의 내용이 같은지를 확인하는 것equals() 메서드를 오버라이딩하여 동등성을 정의할 수 있음기본적으로 Object 클래스의 equals()는 동일성을 기준으로 하지만, 커스텀 객체에서는 내용을 비교하도록 오버라이딩할 수 있음  ❗예시 코드class Person { String name; Person(String name) { this.name = name; } @Override public boolean equals(Object obj) { if (this == obj) return tr..
[Python] LinkList 구현하기
·
🔻Language/Python
❗LinkList 이론https://radiant515.tistory.com/730 [DS] LinkedList❗LinkedList란?LinkedList란 각 데이터 요소가 노드 형태로 존재하고 각 노드가 다음 노드를 가리키며 연결된 형태를 가진다. 연결 구조 덕분에 데이터의 삽입과 삭제가 유연하게 가능하여 이 점에서radiant515.tistory.com  ❗Python에서 LinkList 구현하기1. 딕셔너리 구현# 연결 리스트를 나타내는 딕셔너리와 head 노드를 정의linked_list = {}head = None# 노드 추가 함수def append(key, data): global head # 새 노드 추가 linked_list[key] = {"data": data, "next"..
[Python] and(&) or(|) xor(^) 연산
·
🔻Language/Python
파이썬에서 and, or, xor  연산은 비트 연산자와 논리 연산자로 사용된다. ❗and(&) 연산자a = 5 # 101 b = 3 # 011result = a & b # 비트 단위 and 연산 => 101 & 011 → 001 (즉, 1)print(result) # 출력: 1 (이진수로 001)a = Trueb = Falseresult = a and b # 논리 and 연산print(result) # 출력: False ❗ or(|) 연산자a = 5 # 101b = 3 # 011result = a | b # 비트 단위 or 연산 => 101 | 011 → 111 (즉, 7)print(result) # 출력: 7 (이진수로 111)a = Trueb = Falseresult = a or ..
[Python] List & Dictionary Comprehension
·
🔻Language/Python
❗Comprehension주어진 조건과 표현식을 한 줄로 "이해"할 수 있는 형태로 리스트나 딕셔너리를 생성하는 방법을 말한다. 즉, 복잡한 반복문이나 조건문을 직관적이고 간결한 형태로 "포괄"하여 표현한다는 의미에서 사용한다. ❗List Comprehension✏️기본 형태[expression for item in iterable if condition] ✏️예시squares = [x**2 for x in range(1, 6)]# 출력: [1, 4, 9, 16, 25]even_numbers = [x for x in range(10) if x % 2 == 0]# 출력: [0, 2, 4, 6, 8]  ❗Dictionary Comprehension✏️기본 형태{key_expression: value_expr..
[Python] Dictionary 자료형 기본 정리
·
🔻Language/Python
❗DictionaryKey-Value 쌍으로 데이터를 저장하는 방식이고 같은 딕셔너리 안에서는 키가 중복될 수 없다. 또한 순서를 가지지 않기 때문에 키를 통해 값을 찾을 수 있다. ❗ 기능 예시✏️ 딕셔너리 정의student = { '이름': '홍길동', '나이': 25, '전공': '컴퓨터공학'} ✏️값 조회print(student['이름']) # 홍길동 ✏️값 추가 또는 수정student['학년'] = 3 # 학년 키 추가student['나이'] = 26 # 나이 키의 값 수정 ✏️값 삭제del student['전공'] # 전공 키 삭제
[Python] List 자료형 기본 정리
·
🔻Language/Python
❗List파이썬에서 리스트는 여러 개의 데이터를 하나의 변수명으로 저장하여 묶음으로 사용할 수 있는 자료형이다.대괄호([ ]) 또는 list( )로 선언할 수 있으며 mutable하기 때문에 요소를 추가, 삭제, 수정할 수 있다. ❗기능 예시✏️리스트 생성# 빈 리스트 생성arr = []# 정수 리스트 생성nums = [1, 2, 3, 4, 5]# 문자열 리스트 생성words = ["apple", "banana", "cherry"]# 혼합형 리스트 생성mixed = [1, "apple", 3.14, True] ✏️인덱싱(Indexing)fruits = ["apple", "banana", "cherry"]print(fruits[0]) # "apple"print(fruits[1]) # "banana"pr..
[Java] Java 컴파일 및 런타임 과정
·
🔻Language/Java
Complie Time❗complie time이란? 자바 소스 코드가 컴파일러에 의해 바이트 코드로 변환되는 시점으로 소스 코드의 문법이 올바른지 확인 하고, 변수 및 함수의 타입이 바르게 사용되었는지 확인한다. 또한 컴파일러가 가능한 최적화를 수행하여 효율적인 코드로 생성하게 된다. 이때 문법이나 타입, 참조 오류를 범하지 않도록 해야 한다. ❗컴파일 과정1. 자바 소스코드를 작성한다. 일반적으로 작성하는 자바 소스 코드를 작성한다.for (int i = 2; i < 1000; i++) { ... } 2. 자바 바이트 코드로 변환한다. 자바 바이트 코드란 하드웨어에서 실행할 수 있는 기계어가 아니라 JVM이 해석할 수 있는 중간 개념의 코드이다. 자바 컴파일러(javac)를 통해 소스 파일을 자바 바이..
[Java] JVM이란
·
🔻Language/Java
❗JVM이란?Java Virtual Machine자바 가상 머신으로 자바 애플리케이션을 실행하기 위한 가상화된 컴퓨터이며 자바가 OS에 종속되지 않고 플랫폼에 독립적으로 실행될 수 있도록 해주는 핵심 요소이다.이를 통해 자바 프로그램의 이식성과 효율성을 높일 수 있다.  ❗JVM 구조JVM은 바이트 코드를 실행하는 런타임 과정에서 필요한 환경을 제공한다. 주요 구성 요소로 Class Loader, Runtime Data Area, Execution Engine, Garbage Collector가 있고, 이 구성 요소를 거쳐 런타임이 실행된다.https://radiant515.tistory.com/591 [Java] Java 컴파일 및 런타임 과정Complie Time❗complie time이란?자바 소스..
[Java] 두 날짜 사이의 차이 계산하기
·
🔻Language/Java
두 날짜 사이의 간격을 나타내는 기능을 써보려고 한다! public class period { public static void main(String[] args) { LocalDate start = LocalDate.now(); //2023-02-24 LocalDate end = start.plusDays(5); //2023-03-01 System.out.println("start: " + start); //2023-02-24 System.out.println("end: " + end); //2023-03-01 Period period = Period.between(start, end); System.out.println("period.getDays(): "+ period.getDays()); //5 ..
[C++] 소수점 자리 고정하기
·
🔻Language/C, C++
소수점 아래 몇자리까지 출력하라는 조건이 있을 때 쓰는 방법이다 cout 소수점 아래 자리를 고정하고 cout.precision(2); -> 소수점 아래서 n자리만큼 출력하겠다고 명시한다 double ans = 58.51354613 cout
_니지
'🔻Language' 카테고리의 글 목록