야나도 프로젝트

나도 개발자 될수있어

JAVA

프로그램기초

jmeen 2021. 8. 11. 08:40
728x90

 

컴퓨터 프로그래밍

간단한 이해

* 프로그램 : 지시사항이 나열된 순서 / 예외가 나올수 있다/ 만약에~

* 컴퓨터 프로그램 : 컴퓨터에서 실행할 특정 작업을 수행사는 일련의 작업 (논리/ 구조)

* 코딩 : 프로그램 언어의 명령어를 사용하여 프로그램을 작성하는 것 (구체화)

 

Low level Language VS High level Language

* 인간이 이해하기 쉬울수록 High level Language

* 기계가 이해하기 쉬울수록 Low level Language

- 성능에 따라 구분하는 것이 아님.

 

해석 방법에 따른 언어의 분류

* 컴파일러 (Compiler Language)

- 소스코드를 미리 번역해두고, 필요히 즉시 실행 / 번역에 가까움

장점 : 문법, 데이터 형식의 오류를 미리 감지할수 있다. 안정성이 높다.

단점 : 코드 수정시 컴파일을 다시 해야하여 개발시간이 오래걸린다.

 

* 인터프리터 (Interpriter Language)

- 소스코드 실행시 즉시 차례대로 실행 / 통역에 가까움

장점 : 빠르다

단점 : 문법/데이터 형식의 오류가 있을경우 오류가 날수있다. 안정성 떨어짐.

 

관리형 언어

- 개발자의 책임하에 메모리 할당/ 사용 / 해제를 다 해줘야함.

- C/ C++

 

비관리형 언어

- 개발자의 메모리 직접 접근 차단. 관리자를 통해 자동 할당 및 제거

- java,

 

* 정적 타입 <- 데이터의 타입 C/ C++/JAVA

- 한번 형식을 정하면 변경할 수 없음.

ex) int a = 2021; -> 정수

int a = 3.14; -> 실수 에러발생. OK

 

* 동적 타입 Python / javascript

- 상황에 따라 바뀜 / 대신 상황에 따라 불안정할 수 있음.

ex) a = 2021 - > 정수 ok

a = 3.14 - > 실수 ok

a = "안녕" - > 문자열 ok

 

프로그래밍의 패러다임

* 절차적 언어

- 알고리즘, 로직에 의거한 단계적 멍령으로 문제 해결을 하는 방식

* 객체 지향 언어

- 메서드를 한데 묶은 객체를 만들고 객체를 조립하는 방식

* 선언형 언어

- 특적 문제를 수행하는 절차는 관계없이, 결과만 명시

* 함수형 언어

- 컴퓨터의 입장이 아닌 수학적 입장.

 

 

'JAVA' 카테고리의 다른 글

JAVA 기반 Github 세팅 / 업로드  (0) 2021.08.11
JAVA 변수/자료형/식별자  (0) 2021.08.11
JAVA 기초 / IDE(eclipse) 설치  (0) 2021.08.11
JAVA 주소록 관리 프로그램 개선  (0) 2021.08.10
JAVA 주소록 관리 프로그램  (0) 2021.08.02