반응형

Language 34

[C++] Assignment 주소록(1) - 요구사항 분석

사실 기본적인 자바를 통해 컴퓨터 언어가 어떤식으로 동작하는지는 알고 있어서 이전에 작성한 내용인 C++ 동작원리만 하고 나머지 문법은 과제를 통해서 진행하려고한다. 2024.01.13 - [Language/C++] - [C++] C++ 동작 원리 [C++] C++ 동작 원리 뭐 자바를 공부하기 전에도 마찬가지로 자바의 동작원리부터 알아보고 시작을 했다. JAVA는 대충 설명하자면 JVM에서 띄워지기 때문에 어디든 JVM 머신이 있다면 실행 시킬 수 있다. 하지만, C++을 blaj2938.tistory.com 주소록 서비스로 과제를 하려고 한 이유는 널널한 개발자님의 유튜브 영상을 보고 딱 좋은 과제다! 라고 생각했다.(입문자에게는 너무 어렵기 때문....) https://www.youtube.com/..

Language/C++ 2024.01.13

[C++] C++ 동작 원리

뭐 자바를 공부하기 전에도 마찬가지로 자바의 동작원리부터 알아보고 시작을 했다. JAVA는 대충 설명하자면 JVM에서 띄워지기 때문에 어디든 JVM 머신이 있다면 실행 시킬 수 있다. 하지만, C++을 기본적인 C언어의 여러가지 기능을 추가로 만든 언어이다. 자바는 애초에 OOP(객체 지향)을 위해서 만들어졌지만 C는 절차지향형 언어이다. 그래서 여러기능을 추가한 C++에서는 OOP의 특징도 가져왔다. 그래서 두가지 다 특징을 갖고있다. 위는 대충 C++과 JAVA의 차이에 대해서 작성했지만, 아직 제대로 C++를 공부한게 아니라서 추가적으로 공부후에 어떤것 들이 다른것인지 알아보겠다.(공부하는 중.....) # 프로그래밍 OS를 공부하면서 배운 내용을 생각해보면 좋을 것이다. 소스코드라는 code형태의..

Language/C++ 2024.01.13

[C++] C++ 배우기를 선택한 이유

JAVA를 배운지 한 2년이 다된거 같다... 사실 JAVA를 마스터 했냐고 한다면 그렇지는 않다 흠.... JAVA를 공부하면서 쉽고 편하게 사용하기 만든 언어라는 생각이 들었다. JVM도 그렇고 주소 값 참조도 그렇고 알아서 자동으로 해주기 때문이다. 너무 잘 만든 언어이고 Kotilin과 같은 언어에 있어서도 확장성이 있다고 생각한다. 그럼에도 다시 회귀(?)해서 C++을 선택한 이유는 여러 이유가 있다. 첫번째, 면접에 보러갔더니 C++ 코드를 주고 출력값을 알려달라고 했다. 사실 너무 오래전에 C++이나 C를 공부해서 답변하지 못했다.... 두번째, CS를 공부하면서 메모리할당 이론에서 이해를 할 수가 없다. 나는 개인적으로 코드를 치면서 공부하는것들을 좋아한다. 근데 JAVA에서는 메모리를 자..

Language/C++ 2024.01.08

[JAVA] 상속 👨‍👩‍👧‍👦

안녕하십니까? 검은 까마귀 입니다. 오늘은 상속에 대해서 알아보겠습니다~ 상속은 뭘까? 일단 상속의 사전적 의미에 대해 알아보겠습니다. 일정한 친족관계가 있는 사람 사이에 한 쪽이 사망하거나 법률상의 원인이 발생하였을 때 재산적 또는 친족적 권리와 의무를 포괄적으로 계승하는 제도. 사전적 의미로는 재산또는 친족적 권리와 의무를 계승하는 제도를 의미한다고 하네요 그렇다면 객체지향프로그래밍에서 상속은 어떤것을 계승하게 될까요? 한줄로 요약을 해보았을때 "클래스가 이미 존재하는 클래스의 속성(필드)과 메서드가 사용이 됩니다" 우리는 개발자이기 코드로 이야기 해볼까요?? class 부모클래스 { int 부모필드; void 부모메서드() { System.out.println("부모 메서드 실행"); } } cla..

Language/Java 2023.09.12

[JAVA] JVM 메모리 구조

안녕하시렵니까? 검은까마귀입니다 JVM메모리 구조에 대해 알아보는 시간을 갖겠습니다. JVM이란 뭘까? 먼저 아주 똑똑한 쳇~ GPT에게 물어보겠습니다 나: JVM에 대해 설명해줘~ JVM은 "Java Virtual Machine"의 약자로, 자바 프로그램을 실행하기 위한 가상 머신입니다. JVM은 자바 프로그램을 컴파일한 바이트 코드를 실행하고, 다양한 운영 체제 및 하드웨어 환경에서 동작하는 역할을 합니다. 아래에서 JVM에 대한 주요 특징과 기능을 설명하겠습니다: 1. 바이트 코드 실행: 자바 소스 코드는 자바 컴파일러를 통해 바이트 코드로 변환됩니다. 이 바이트 코드는 JVM에서 실행됩니다. 이로써, 자바 프로그램은 플랫폼에 독립적이며, 한 번 컴파일한 코드를 여러 운영 체제에서 실행할 수 있습니..

Language/Java 2023.09.12

[JS] Array 객체

1. Array.isArray() 문자열인지 아닌지 검사 2. Array.from() - 배열과 비슷한 객체(array-like objects) : length 프로퍼티와 인덱스 된 요소를 가지고 있는 객체 - 반복할 수 있는 객체(iterable objects) : Map과 Set 객체 및 문자열과 같이 해당 요소를 개별적으로 선택할 수 있는 객체 1. push(): 배열의 가장 마지막에 추가 -> stack 구조, queue구조로 활용 2. pop(): 배열의 가장 마지막을 제거 -> stack 구조 3. shift():배열의 가장 마지막 요소를 제거하고 제거된 요소를 반환, 실행할때마다 배열의 길이가 하나씩 줄어든다 -> queue구조 활용 4. unshift(): 하나 이상의 요소를 배열의 가장 ..

Language/Javascript 2022.03.01

[JS] String.prototype 메소드

모든 String 인스턴스는 String.prototype으로부터 메소드와 프로퍼티를 상속받습니다. 이렇게 상속받은 String.prototype 메소드를 이용하면, 다음과 같은 문자열 작업을 할 수 있습니다. 항상 인덱스는 0부터 시작함 a b c D E F a b c 0 1 2 3 4 5 6 7 8 1. 문자열에서의 위치 반환 - indexOf(): 문자열이 처음으로 등장하는 위치 - lastIndexOf(): 문자열이 마지막으로 등장하는 위치 없으면 -1을 반환 2. 문자열에서 지정된 위치에 있는 문자 반환: String 인스턴스에서 전달받은 인덱스에 위치한 문자나 문자 코드를 반환 - charAt() - charCodeAt() - charPointAt() 3. 문자열 추출 - slice(index..

Language/Javascript 2022.03.01

[JS] 표준 객체 모음

1. Number.parseFloat() Number.parseFloat() 메소드는 문자열을 파싱(parsing)하여, 문자열에 포함된 숫자 부분을 실수 형태로 반환합니다.문자열에 여러 개의 숫자가 존재하면, 그중에서 첫 번째 숫자만을 실수 형태로 반환합니다. 2. Number.parseInt() Number.parseInt() 메소드는 문자열을 파싱하여, 문자열에 포함된 숫자 부분을 정수 형태로 반환합니다. 문자열에 여러 개의 숫자가 존재하면, 그중에서 첫 번째 숫자만을 정수 형태로 반환합니다. 3. Number.isNaN() Number.isNaN() 메소드는 전달된 값이 NaN인지 아닌지를 검사합니다. 이 메소드는 전역 함수인 isNaN() 함수가 가지고 있던 숫자로의 강제 변환에 따라 발생하는 ..

Language/Javascript 2022.02.24

[JS] 객체 메소드

1. hasOwnProperty() hasOwnProperty() 메소드는 특정 프로퍼티가 해당 객체에 존재하는지를 검사합니다. 해당 객체에서 직접 선언된 프로퍼티만을 검사하며, 같은 이름의 프로퍼티라도 상속받은 프로퍼티는 false 값을 반환합니다. 2. propertyIsEnumerable() propertyIsEnumerable() 메소드는 특정 프로퍼티가 해당 객체에 존재하고, 열거할 수 있는 프로퍼티인지를 검사합니다. 즉, 이 메소드는 hasOwnProperty() 메소드의 결과가 true이면서, 동시에 열거할 수 있는 프로퍼티인지를 검사합니다. 3. isPrototypeOf() isPrototypeOf() 메소드는 특정 객체의 프로토타입 체인에 현재 객체가 존재하는지를 검사합니다. 4. isE..

Language/Javascript 2022.02.24
반응형