반응형

Programming language 27

[JAVA] 변수와 상수

변수 변수란 값을 저장할 수 있는 메모리 공간을 의미한다. 변수의 선언 int count; double average; 변수 명명 관례 첫 번째 문자가 소문자인 명사로 정함 여러 단어로 구성된 이름의 경우 두번째 단어부터 첫글자를 대문자로 함 '_'을 쓰지 않음 규칙은 반드시 지켜야 한다. 지키지 않으면 컴파일시 에러가 발생함. 관례는 지키지 않아도 컴파일에러가 발생하지는 않지만, 약속이기 때문에 지켜주는것이 좋다. 상수 상수란 수식에서 변하지 않는 값을 의미한다. 상수의 선언 final int J; 상수 명명 관례 대문자로만 구성된 명사로 정함 여러 단어로 구성된 이름의 경우 단어 사이에 '_'을 써서 구분함. 상수를 사용해야 하는 경우 값이 변하면 위험한 경우에 상수를 사용 값만 봤을때 무엇을 의미하..

[JAVA] 자바 시작하기

자바란? 자바의 탄생 1995년에 썬 마이크로시스템즈에서 발표한 객체지향 언어 현재 썬 마이크로시스템즈는 오라클에 안수가 된 상태 자바의 특징 쉬운 언어이다. C와 C++ 언어의 문법을 기본으로 차용하여 개발된 언어 C와 C++이 가진 어려운 문법인 포인터와 다중 상속 제거 C와 C++에 비해 쉬운 언어이다. 플랫폼이 독립적이다. 자바는 JVM만 있으면 윈도우, 리눅스, 맥 등 어떤 플랫폼에서도 실행이 가능 객체지향 언어이다. Garbage Collector로 메모리 관리를 자동으로 해준다. 자바 개발 순서 소스 작성 작성한 소스 컴파일 컴파일한 소스를 JVM을 이용하여 실행 이클립스를 이용해 똑같이 실행해 보기 eclipse.exe를 실행 사용자 홈디렉토리 아래에 workspace 폴더를 지정 프로젝트..

[Go] Method

1. Go 메서드(Method) 앞에서(Go 구조체) 언급했듯이 Go 언어는 객체지향 프로그래밍(OOP)을 고유의 방식으로 지원한다. 타 언어의 OOP의 클래스가 필드와 메서드를 함께 갖는 것과 달리 Go 언어에서는 struct가 필드만을 가지며, 메서드는 별도로 분리되어 정의된다. Go 메서드는 특별한 형태의 func 함수이다. 메서드는 함수 정의에서 func 키워드와 함수명 사이에 "그 함수가 어떤 struct를 위한 메서드인지"를 표시하게 된다. 흔히 receiver로 불리우는 이 부분은 메서드가 속한 struct 타입과 struct 변수명을 지정하는데, struct 변수명은 함수 내에서 마치 입력 파라미터처럼 사용된다. 예를 들어, 아래 예제는 Rect라는 struct를 정의하고 area() 라는..

[c++] 실수형 자료형

실수형 자료형 C++에서 실수란 소수부나 지수가 있는 수를 가리키며, 정수보다 훨씬 더 넓은 표현 범위를 가집니다. 하지만 컴퓨터에서 실수를 표현하는 방식은 오차가 발생할 수 밖에 없는 태생적 한계를 지닙니다. 이러한 실수형 데이터의 오차는 C++뿐만 아니라 모든 프로그래밍 언어에서 발생하는 공통된 문제입니다. 정수표현 방식과 실수 표현 방식은 다르다. 실수 표현 방식은 정밀도에 의존한다. 따라서 double(8) 자료형이 float(4)보다 더 아래의 소수점까지 정확하게 표현이 가능하다. 정수는 정수끼리, 실수는 실수끼리 연산하되, 두 표현방식의 피 연산자가 연산될 경우 명시적으로 변환해야 한다. 아래의 수식에서 4.0은 정수의 표현 방식으로 전환되어 표현된다. int a = 4 + 4.0; 부동소수점..

[C++] 정수형 자료형

자료형은 크게 정수형과 실수형으로 나뉜다. 정수형 자료형 C++에서 정수란 부호를 가지고 있으며, 소수 부분이 없는 수를 의미합니다. 정수형 데이터에 unsigned 키워드를 추가하면, 부호를 나타내는 최상위 비트(MSB, Most Significant Bit)까지도 크기를 나타내는 데 사용할 수 있습니다. unsigned 정수로는 음의 정수를 표현할 수는 없지만, 0을 포함한 양의 정수는 두 배 더 많이 표현할 수 있게 됩니다. 음의 정수까지도 표현할 수 있는 signed 키워드는 모든 타입에서 기본적으로 생략할 수 있습니다. * 최상위 비트(MSB, Most Significant Bit)란 1바이트를 구성하는 8개의 비트 중 최고값을 갖는 비트를 의미합니다. 정수형 데이터의 타입을 결정할 때에는 반드..

[Go] Map 의 특정 key나 value 값으로 정렬하기

sort.Sort 메서드는 sort.Interface 정렬 인터페이스를 인자로 받는다. 정렬 인터페이스는 아래 3가지 Len(), Less(), Swap() 메서드를 구현하면 해당 구조체를 정렬할 수 있다. func Sort(data Interface) { n := data.Len() quickSort(data, 0, n, maxDepth(n)) } type Interface interface { // Len is the number of elements in the collection. Len() int // Less reports whether the element with // index i should sort before the element with index j. Less(i, j int) ..

[Go] ch16 패키지

패키지 패키지란 Go언어에서 코드를 묶는 가장 큰 단위이다. main 패키지는 특별한 패티지로 프로그램 시작점을 포함한 패키지이다. 프로그램이 실행되면 운영체제는 프로그램을 메모리로 올린다. 이것을 로드라고 한다. 그런 다음 프로그램 시작점부터 한 줄씩 코드를 실행한다. 프로그램의 시작점이 main() 함수이고, main() 함수를 포함한 패키지가 main 패키지이다. 한 프로그램은 main 패키지 외에 다수의 다른 패키지를 포함할 수 있다. 원하는 기능을 제공하는 패키지가 있다면 import해서 사용하면 된다. 페키지를 찾기 위해 아래의 사이트를 참고할 수 있다. - https://golang.org/pkg/ Standard library - pkg.go.dev Directories ¶ Expand a..

[Go] ch15 문자열

문자열은 문자열의 집합이다. 문자열의 타입명은 string이다. 문자열 큰따옴표나 백퀴트로 묶어서 표시한다. 따옴표("") : 큰따옴표로 묶으면 특수 문자가 동작한다. 백쿼트(~표시 아래) : 백쿼트로 묶으면 특수 문자가 동작하지 않는다. 여러 줄에 걸쳐서 문자열 출력이 가능하다. str1 := "Hello \t 'world' \n" fmt.Println(str1) str2 := `Hello \t 'world' \n Testing back qoute` fmt.Println(str2) ----------------------------------------------- Hello 'world' Hello \t 'world' \n Testing back qoute rune 타입으로 한 문자 담기 문자 하나를..

[Go] ch14 포인터

본 게시물은 Tucker의 Go언어 프로그래밍을 참고해 작성한 게시물입니다. http://www.yes24.com/Product/Goods/99108736 Tucker의 Go 언어 프로그래밍 - YES24 게임 회사 서버 전문가가 알려주는 Go 언어를 내 것으로 만드는 비법구글이 개발한 Go는 고성능 비동기 프로그래밍에 유용한 언어이다. 『Tucker의 Go 언어 프로그래밍』은 Go 언어로 ‘나만의 프로 www.yes24.com 포인터란? 포인터는 메모리 주소를 값으로 갖는 타입이다. 메모리 주솟값을 변숫값으로 가질 수 있는 변수를 포인터 변수라고 한다. 다른 변수처럼 포인터 변수도 값을 담는 메모리 공간이 있다. 그 값으로 주소만 담을 수 있다. int 타입 변수 n의 메모리 주소는 0xc0000960..

[Go] ch13 구조체

본 게시물은 Tucker의 Go언어 프로그래밍을 참고해 작성한 게시물입니다. http://www.yes24.com/Product/Goods/99108736 Tucker의 Go 언어 프로그래밍 - YES24 게임 회사 서버 전문가가 알려주는 Go 언어를 내 것으로 만드는 비법구글이 개발한 Go는 고성능 비동기 프로그래밍에 유용한 언어이다. 『Tucker의 Go 언어 프로그래밍』은 Go 언어로 ‘나만의 프로 www.yes24.com 선언 및 기본 사용 여러 필드를 묶어서 하나의 구조체를 만든다. 배열이 같은 타입의 값들을 변수 하나로 묶어줬던 것과 달리 구조체는 다른 타입 값들을 변수 하나로 묶어주는 기능이다. 구조체 정의 하기 type 타입명 struct { 필드명 타입 ... 필드명 타입 } type 키..

반응형