[코틀린]Kotlin 생성자(init, Constructor)의 호출

생성자는 새로운 인스턴스를 만들기위해 호출하는 함수를 뜻 합니다. 생성자의 역할 -인스턴스의 속성을 초기화 -인스턴스 생성시 구문을 수행 생성자는 init과 constructor 두가지 함수를 이용해 초기화 할 수 있습니다. init 함수 init 함수는 매개변수가 없고 반환되는 값이 없는 특별한 함수입니다. 생성자를 통해 인스턴스가 만들어 질 때 호출되는 함수입니다. 이름과 나이를 받아오는 생성자 아래와 같이 만들 수 있습니다. constructor 함수 보조 생성자 라고 하는데 인스턴스를 생성시 편의를 제공하거나 추가적인 구문을 실행 할 수 있게 해줍니다. constructor 함수를 만들 경우 반드시 기본생성자(init)를 호출하여 초기화 해주어야합니다. constructor 함수는 매개변수를 가지..

[GoLang] Go언어 변수선언과 변수의 종류

변수 선언 golang은 다른 언어들과 마찬가지로 변수를 사용하기 위해 변수를 선언해야 합니다. 예를 들어 'a'라는 정수형 변수를 선언을 하기 위해서는 아래와 같이 코드를 작성합니다. var a int // a라는 변수를 정수 형태로 선언한다 var는 variable의 약자로 '변하기 쉬운'이라는 뜻이며, int는 integer의 약자로 정수라는 뜻입니다. a는 변수의 이름입니다. 또한 Golang에는 일부 변수는 변수 형태(type)로 크기를 지정해 줄 수 있습니다 정수형 변수 정수형 변수를 선언하는 방법은 아래처럼 여러 방법이 있습니다. 단순하게 int 또는 uint라고만 선언할 수 있지만 크기를 지정하는 이유는 네트워크 통신이나 프로그램 실행 시 불필요한 메모리를 사용하지 않기 위함입니다. 정수형..

[GoLang] Go언어의 시작 Hello World!

Go 언어란? Go언어는 2009년 구글(google)이 개발한 프로그래밍 언어입니다. 구글의 생산 시스템 일부와 기타 기업들이 사용하고 있다고 합니다.Go언어는 C언어처럼 문법이 간결하여 배우기 쉽습니다. 또한 C++, JAVA의 좋은 기능들을 사용 할 수 있습니다. + Go언어 를 사용하는 사람을 고퍼(GoPher)라고하며 Go 단어 특성상 부르기 쉽게 고랭(GoLang)이라고 부릅니다. Go언어 시작 하려면?Go언어를 시작 하기에 앞서 설치해야 할 항목은 세가지입니다.Golang, git, Visual Studio Code(VSC)해당 프로그램들은 모두 무료이며 홈페이지를 접속하여 최신버전을 다운로드 할 수 있습니다.해당 이름을 구글에 검색하면 나오지만, 링크로 만들어 놓았으니 귀찮으시면 이름 클릭..

[JAVA] String 클래스 substring 메소드 정리

String 클래스 substring 메소드 정리 String 클래스에 포함된 메소드중 substring에 대하여 포스팅 하겠습니다.해당 메소드는 문자열에서 원하는 부분을 추출 하고자 할때 사용합니다. substring 메소드의 기본 구조는 아래와 같습니다.찾을문자열.substring(찾을문자열의 시작번호, 읽어들일 문자열 갯수) Ex)String str = "ABCDE";String substr = str.substring(1,2);System.out.println("substring: "+substr); 결과substring: BC 아래의 예제는 입력받은 문자열을 한글자씩 회전시켜 출력하는 프로그램입니다.참고하여 작성해보면 훨신 이해가 빠를 것 입니다.

C언어 파일 입출력 - 스트림(Stream)의 형성과 fopen함수

스트림이란(Stream)쉽게말해 사용자가 구현하려는 프로그램(Program)에서 파일(File)을 사용하기위해서는 파일(File)과 프로그램(Program)사이에 다리(Bridge)를 놓아야하는데 이 다리(Bridge)를 스트림(Stream)이라 한다. 하지만 실제로 다리가 놓이는 것은 아니며 스트림이 형성이 되었다고 한다면 이렇게 이해를 하면 좋을것 같다." 파일로부터 데이터를 읽어 들일(파일에 데이터를 쓸) 기본적인 준비가 완료 되었다 "그리고 알아두어야 할 점은 운영체제가 파일의 구조를 결정하고 관리하기에 스트림의 형성도 운영체제가 해준다. #includeFILE * fopen(const char * filename, const char * mode);- 성공 시 해당 파일의 FILE 구조체 변수의..

JAVA 상속 - 재정의(Overriding)와 주해(Annotation)

메소드 재정의(Overriding Method)상속받은 메소드가 변경이 필요하다면 해당 메소드의 헤더는 그대로 두고 메소드의 몸체만 바꾸는 것이다.집으로 치자면 상속받은 집내부의 벽지나 창문이 마음에 들지않아 리모델링하는 것과 같다. 서브클래스에서 오버라이딩(Overriding)을 할 경우 반드시 슈퍼클래스의 메소드의 반환형, 이름, 매개변수의 갯수와 데이터 타입이 일치 하여야 한다. 아래의 코드를 작성하여 실행하여 보면 이해가 빠를 것이다. public static void main(String[] args) { // 메인 메소드// TODO Auto-generated method stubDog d = new Dog();Animal a = new Animal();a.sound(); // 슈퍼클래스 메소..

JAVA 상속 - 부모(슈퍼)클래스와 자식(서브)클래스

상속(Inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것이다. 상속되는 클래스를 부모 클래스라하며 슈퍼클래스(Super class)라고도 한다.자식 클래스는 서브클래스(Sub class)라고도 하며 상속을 받는 클래스를 의미한다. 상속이라고 해서 특별한 의미가 있는 것은 아니다. 현실에서와 비슷하게 그저 부모님의 집을 상속받아 그대로 사용을 하거나 물려받은 집을 보수또는 리모델링(오버라이딩)할 수 있는 것과 같다. 자바에서 클래스를 상속 받기위해서는 클래스 정의후에 옆에 extends를 적고 상속받을 클래스 이름을 쓰면된다.ex) class SubClass extends SuperClass 그리고 서브클래스는 슈퍼클래스의 멤버와 메소드들 마치 자기 것처럼 사용할 수 있으며 슈퍼클래..

C언어 포인터(Pointer)란? 포인터의 완벽 이해

"포인터란 어떠한 값을 저장하는게 아닌 어떠한 값의 주소(Address)를 저장하는 것 이다!" 어떠한 값의 주소라함은 해당값이 저장된 컴퓨터 메모리상의 주소를 의미한다.ex) num이라는 변수에는 5의 값이 저장되어있다. 그리고 *pnum이라는 포인터 변수에는 num의 주소 123456이 저장 된다는 것이다. 포인터 변수를 만들때는 변수이름앞에 *을 붙여주면 그변수는 포인터 변수가 된다.(사용할때 일반변수와의 구분을 위해 주로 '*p변수이름'의 형식으로 사용한다.) 간단하게 포인터 함수를 이용하여 포인터 변수 정의와 &연산자에 대하여 설명을 하겠다.#include int main(void){int *pnum; // 포인터 변수 선언int num = 12345; // 일반변수 선언 & 초기화pnum = ..

C언어 배열이란? - 1차원배열

배열은 다수의 데이터를 저장하고 처리하는 경우에 유용하게 사용할 수 있다.예를 들어 한반에 30명있을때 각각의 학생들의 점수를 입력받아 저장 해야할때 배열이 쓰이게된다. 위같은 상황에서 배열을 사용하지 않으면 변수선언은 물론 입력받는 것부터 저장, 출력도 30번을 적어야한다.이 세가지만 하더라도 코드의 줄은 90줄이다. 그래서우리는 배열이라는 것을 사용하는것이다. 한 반에 10명이 있을때 각각의 학생들의 점수를 입력받아 저장, 출력하는 코드를 짜보았다 코드는 아래와 같다.#include #define SIZE 10#pragma warning(disable:4996) int main(void){int students[SIZE];int i;int sum=0;for (i = 0; i < SIZE; i++) {..

JAVA 클래스와 객체(class & object) - 객체(object), 클래스(class)

객체는(Object)는 객체 지향 기술의 핵심 개념이다. 객체는 상태와 동작을 가지고 있다. 객체의 상태(state)는 객체(자동차)의 특징값(속성)이다.자동차로 예를 들어 보겠다. [객체: 자동차(car)]차량의 색상: red현재의 기어: 1현재의 속도: 20km/h연식: 2014등등 이런것들이 속성 즉, 객체의 상태(State)가 된다.그리고 저것들을 변수로 표현을 할때 우리는 필드(field)라고 한다.(필드=변수들=속성,상태) 객체의 동작(Behavior)은 객체(자동차)가 취할수잇는 동작이다.시동걸기출발하기멈추기가속 하기감속 하기기어 변경등등 이런것들이 객체의 동작(Behavior)이 된다.그리고 우리는 객체내의 저런 것들을 C언어에서는 함수라하고 자바에선 메소드(Method)라 한다. 클래스(..