달력

3

« 2020/3 »


 

주석문 (Comment)

https://codedragon.tistory.com/6216

 

 

 

 

 

주석문의 종류

주석종류

의미

설명

//주석문

·         단행 주석

·         행단위 주석

·         주석

·         현재 행에서 // 뒤의 문장 전체를 주석으로 처리합니다.

·         C, C++, C#, Java, R, …

/*주석문*/

·         다행 주석

·         블록단위 주석

·         여러 주석

·         /* */사이의 여러 문장을 주석으로 처리합니다.

·         주로 개발자들이 소스에 기록을 남기거나 참고하기 위하여 작성합니다.

/**주석문*/

·         HTML 문서화 주석

·         JAVA 문서화 주석

·         /** */사이의 문장을 주석으로 처리합니다.

·         주석을 이용하여 HTML 형태의 API문서 페이지를 생성합니다.

·         javadoc.exe

 

 

 

 

 

HTML 주석(<** ~ *> ) 문서 작성 실행파일

C:\Program Files\Java\jdk1.7.0_51\bin\javadoc.exe

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

함수 사용의 장점


장점

설명

코드

모듈화

·         함수를 기능별로 작성하여 비슷한 기능들만 모을 있습니다.

·         응집력 

코드

논리화

·         코드의 일정 부분을 별도의 논리적 개념으로 독립화할 있습니다.

·         코드를 논리적으로 이해하는 도움을 줍니다.

코드

재사용성

·         작성한 함수는 얼마든지 다시 사용 있습니다.

·         반복적인 수행이 가능합니다.

·         재사용성 향상


코드

수정 용이

·         오류나 에러 수정이 쉬워집니다.

·         코드의 안정성 향상

코드

간략화

·         반복되고 중복되는 문장을 밖으로 빼서 함수화 함으로써 소스코드를 간결하게 할수 있습니다.

·         복잡성


 

 

'Development > C#, Xamarin' 카테고리의 다른 글

리터럴(Literal)  (0) 2020.03.24
접미어(Suffix), 리터럴(Literal)  (0) 2020.03.17
함수 사용의 장점  (0) 2020.03.17
this 키워드  (0) 2020.03.15
인터페이스 선언 형식  (0) 2020.02.05
C# vs JAVA - 상속  (0) 2020.01.01
Posted by codedragon codedragon

댓글을 달아 주세요

   

  

함수(Function)

·         객체지향에서는 함수를 메소드(Method)라고 합니다.

·         특정 작업(기능) 하는 일련의 코드 하나의 이름(함수명)으로 묶어 놓은 코드의 집합(코드블럭)으로 함수는 여러 개의 문장(statement) 하나로 묶어 줍니다.

 

·         입력값을 받아 그것을 처리한 하나의 결과값(리턴값) 돌려주는 역할 합니다.

·         It takes the input value, processes it, and returns one result.

·         A method can declare only one return value.

 

 

·         한번 정의하면 번이든 실행할 있어 반복적인 작업 처리할 유용합니다.

·         함수를 이용하여 프로그램을 구조적, 논리적으로 만들 있습니다.

·         프로그램을 여러 개의 함수로 나누어 작성하면, 모듈화 인해 전체적인 코드의 가독성 좋아지며 코드의 반복을 줄일 있습니다. 그리고 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수 있습니다.

·         함수를 작성하면 단위 테스트(Unit Test) 통해 해당 함수의 동작을 검증할 있습니다.

 

 

 

 

 

 

 

함수 도식도

입력 받아 처리 다음 출력 주는 것이 함수입니다.

   

   



Posted by codedragon codedragon

댓글을 달아 주세요


 

JDK (Java Development Kit)

·         자바 프로그램을 개발하기 위한 개발 툴킷(toolkit)

·         개발에 필요한 컴파일러와 라이브러리 API, 각종 도구(javac, java)들을 포함하고 있습니다.

 

https://en.wikipedia.org/wiki/Java_Development_Kit

 

 

 

 

 

 

JRE(Java Runtime Environment)

·         자바 실행환경

·         , 자바로 만든 자바 프로그램을 실행 시킬 있는 자바 환경을 만들어주는 역할을 합니다.

·         자바 프로그램을 구동하기 위해서는 반드시 JRE JDK 설치되어 있어야 합니다.

·         JRE에는 자바 프로그램을 개발하기 위한 도구가 없습니다.

 

 

https://en.wikipedia.org/wiki/Java_virtual_machine

 

 

 


TAG java, 자바
Posted by codedragon codedragon

댓글을 달아 주세요


 

  

JVM 메모리 구조

구성요소

동의어

저장 요소

Class Area

·         static 영역

·         메소드영역(method area)

·         데이터 영역

·         static 변수(class 변수)

·         메소드의 바이트코드

Java Stack

·         스택 영역(stack area)

·         JVM 스택 영역

·         작은 데이터

·         지역변수

·         매개변수

Heap

·         영역(heap area)

·         데이터

·         객체 (인스턴스)

·         배열

Native Method Stacks

·         네이티브 메소드 공간

·         네이티브 메소드 공간

 

 

 

 

 

 

JVM 구성도 (메모리 구조도)

·         메모리 영역은 여러 개의 영역으로 나뉘어 집니다.

·         stack 영역은 offset값만으로 바로 참조할 있는 변수와 같이 가벼운 것을 저장하는 공간(작은 데이터)입니다.

·         heap 영역은 내부에 참조영역(registry) 따로 가지므로 객체와 같은 무거운 것을 저장하는 공간( 데이터)입니다.

  


Posted by codedragon codedragon

댓글을 달아 주세요


 

컴파일(compile)

·         컴퓨터는 0 1 이루어진 이진수(binary) 작성된 기계어만을 이해할 있습니다.

·         텍스트로 작성된 소스코드를 기계어로 번역하는 과정을 거쳐야 하며 과정이 컴파일입니다.

·         소스코드 -> 컴퓨터가 이해할 있는 언어(native code = machine language = 기계어) 번역되는 과정

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

static link library vs dynamic link library

정적링크 vs 동적링크

static link library

dynamic link library

static link

(정적링크)

dynamic link

(동적링크)

link 수행하면 컴파일후 생성되는 최종 binary file (exe dll등의 최종 목적 file) 묶이게 됩니다. 이것을 static link library 라고 합니다.

binary link 따로 존재합니다.

 

 

컴파일시 라이브러리가 함께 참조되어 실행파일과 함께 만들어 집니다.

실행시에 해당 라이브러리가 연결되어 실행됩니다.

실행에 필요한 모든 목적 코드를 연결시켜 실행파일이 만들어집니다.

프로그램 실행 도중에 필요한 목적코드를 필요시마다  연결하도록 실행파일이 만들어집니다.

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

패키지이름(Package Name)

·         애플리케이션을 구분하는 고유한

·         여러분이 만든 앱이 디바이스에 설치되었을 다른 앱들과 구분하는 역할을 하므로 유일무이해야 합니다.

 

 

 

 

 

패키지 명명 방법

명명방법

com.회사이름.프로그램이름

com.codedragon.goodapp

com.회사이름.플랫폼.프로그램이름

com.codedragon.android.goodapp

 

com.codedragon.ios.goodapp

kr.co.회사이름.프로그램이름

kr.co.codedragon.goodapp

kr.co.회사이름.플랫폼.프로그램이름

kr.co.codedragon.android.goodapp

 

 

 

 

 

명명 규칙

·         회사 이름이나 혹은 도메인(웹사이트주소)등은 유니크하기 때문에 사이트명으로 많이 구분합니다.

·         웹사이트 주소를 반대로 기재한 모양으로 패키지 이름을 부여합니다.

·         명칭 소문자 사용

·         패키지명에 대문자는 사용하지 않는게 좋습니다.(권고)

·         소스 파일들을 각각의 그룹으로 구분하기 위해 (.)으로 구분

·         패키지 이름으로 소스가 들어가는 폴더가 자동으로 만들어 집니다.

 




Posted by codedragon codedragon

댓글을 달아 주세요


 

운영체제 종류

주요 운영체제로는 마이크로소프트 윈도우(Microsoft Windows), 유닉스(UNIX), 리눅스(Linux), 아이오에스(iOS), 안드로이드(Android) 등이 있습니다.

 

 

 

 

주요 운영체제 비교

종류

저작자

비용 라이선스

주요 용도

Windows

 

MS-DOS

·         Microsoft

·         유료

·         다양한 라이선스 정책

·         중소 규모 서버

·         개인용 PC

·         Tablet PC

·         Embedded System

UNIX

·         IBM(AIX)

·         HP(HP-UX)

·         SUN(Solaris)

·         유료

·         다양한 라이

·         선스 정책

·         대용량 처리

·         안정성이 요구 되는 Server

·         NAS

·         Workstation

Linux

·         Linus Torvalds

·         무료

·         GNU GPLv2

·         중대 규모 서버

iOS

·         Apple

·         하드웨어에 번들

·         (Budle)

·         스마트폰

·         태블릿 PC

·         Music 플레이어

Android

·         Google

·         무료

·         GNU GPLv2

·         Apache 2.0

·         스마트폰

·         태블릿 PC

 

https://en.wikipedia.org/wiki/Comparison_of_operating_systems

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

리눅스 배포판(Distributor)

·         개인이나 단체가 커널(Kernel) 컴파일러(Compiler), (Shell), 기타 응용프로그램들을 제작, 추가적인 응용 프로그램을 묶어 유료 또는 무료로 배포하는 리눅스 말합니다.

·         자유 소프트웨어의 GPL 라이선스를 바탕으로하고 있습니다.

·         리눅스의 수정 배포는 자유이므로, 다양한 배포판 존재하며, 각각은 고유의 특징 가지고 있습니다.

 

 

 

 

http://bit.ly/2xJUNqK

 


Posted by codedragon codedragon

댓글을 달아 주세요