본문 바로가기

LANGUAGE

(7)
[JAVA] 배열 Array 배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 변수로 선언하는 경우 int score1, score2, score3, score4, score5; 5개의 점수가 연속되지 않은 주소 메모리에 생성됨 배열로 선언하는 경우 int[] score = new int[5]; 배열은 각 저장공간이 연속적으로 배치되어 있음 배열의 선언 & 생성 //타입[] 변수명 = new 타입[크기]; int[] score = new int[5]; 선언과 생성을 동시에 하는 방법으로 주로 이렇게 선언한다. 배열의 선언 두가지 방법으로 선언이 가능함. //타입[] 변수이름; int[] score; //타입 변수이름[]; int score[]; 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어 짐 배열의 생성 배..
[Java] 제어자(modifier) 제어자란? 제어자란 클래스, 변수, 메소드 선언부 앞쪽에 함께 사용되어 부가적의미를 부여한다. 종류 접근제어자 public, protected, default, private 그 외의 제어자 static, final, abstract, native, transient, synchronized, volatile, strictfp 여러가지 제어자를 조합하여 사용하는 것 가능 접근 제어자는 하나만 사용가능 순서는 상관없지만, 접근제어자를 맨 앞에 두는 경향이 있다. static 의미 : 공통적인 / 클래스의 인스턴스가 아닌 클래스에 관계된 것이기 때문에 인스턴스를 생성하지 않고도 사용이 가능하다. 인스턴스 변수 vs 클래스(static) 변수 인스턴스 변수 : 하나의 클래스로 부터 생성되었어도, 서로 다른 값..
[C/C++] 비트마스크(BitMask) 비트(bit) 비트는 이진수(binary digit)로, 컴퓨터에서 사용되는 데이터의 최소 단위이다. 0 / 1 두 개의 값만을 가질 수 있으며, 이 두가지로 숫자를 표현하는 방법을 이진법이라고 한다. 비트 마스크 (BitMask) 비트마스크는 알고리즘 아닌 bit를 사용한 테크닉이다. 비트의 형태, 정수의 이진수 표현을 활용한 기법이다. 비트를 이용하면, 0/1 true, false의 상태를 가진다. 이진수를 십진수로 표현할 수 있다. 비트마스크의 활용 집합구현 N비트 정수라면, N개의 원소를 가지는 부분집합을 모두 표현할 수 있다. 백준 알고리즘 11723번 문제 "집합" - https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M..
[Java] 열거형(enums) 자바의 정석 3판 - 열거형(enums) 열거형이란? 서로 관련된 상수를 편리하게 선언하기 위한 것으로, 여러 상수를 정의할 때 사용하면 유용하다. 열거형이 가지는 값 뿐만아니라 타입까지 관리하기 때문에 논리적 오류를 줄일 수 있다. 포커 카드를 클래스로 선언하는 경우의 예제를 알아보자. 포커카드는 그림과 같이 2가지(값, 모양)로 구분된다 카드 그림의 모양 : 클로버 / 하트 / 스페이드 / 다이아몬드 카드의 값 : A , 2 , ...., J, Q, K enums을 사용하지 않을 경우 class Card{ static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE ..
[C++] 입출력 윤성우 열혈 C++ 프로그래밍 기반의 C++ 공부용도 글 확장자 .cpp : C++문법규칙을 적용한 C++컴파일러로 컴파일되도록 해줌 입출력 입출력을 위해서는 iostream 이라는 헤더 파일이 필요하며, 다음과 같이 선언한다 #include * C언어에서 printf(출력) , scanf(입력)을 위해 를 선언하는 것과 같다 이때, 헤더파일의 확장자는 .h (iostream.h)이나, 표전 헤더파일의 선언에서는 확장자를 생략하기로 약속했다! 더보기 이유 표준 라이브러리가 변화하면서, 과거와 새로운 표준 라이브러리를 구분하기 위해 새로운 표준 라이브러리를 사용하는 형태로 소스코드를 쉽게 변경할 수 있도록 하기 위해 → #include 로 사용되었으면, 과거 표준 라이브러리 #include 으로 사용되었으..
컴파일러 분석 /* * * Hashtable Implementation (St size=1000) * * Programmer : * Date : * * Description : The input to the program is a file , consisting of identifiers seperated by * spaces,tab characters, newlines and punctuation marks . , , , ; , :, ? , ! . * An identifier is a string of letters and digits,starting with a letter.Case is insignificant. * Case is significant. The program reads in each identif..
[c/c++] 빌드(build)란? + Visual C++ Visual Studio나 VS code를 이용한지 좀 되었지만, 기계적으로 "코드작성 -> 빌드 -> 디버깅없이 시작" (+ 끝없는 오류 고치기)를 했을 뿐 무슨파일이 생성되고 어떻게 진행되는지 제대로 알지는 못했다. 이번에 CMake라는 프로그램을 사용하게 되면서 그동안 외면하고 있던 내 소스코드는 어떻게 실행파일이 되는가?! 에 대해서 알아볼 필요성을 느끼게 되어 한번 공부해봤다. 또한, 가장 대중화 되어있는 Visual Studio로는 어떤 식으로 진행되는지도 함께 알아보았다. C프로그램의 개발 과정 "소스코드 작성 → 전처리기 → 컴파일 → 링크 → 실행 → 디버깅" 이다. 그림으로 표현하면 다음과 같다 이 단계에 대해 하나하나 알아보자 * () 안에 써있는 파일은 해당 단계의 결과로 나오는 파..

728x90