-컴퓨터란?
사람의 명령을 받아서 대신 작업을 처리하는 기계
전자적인 신호에 기반

-역사

(폰 노이만 구조)

-프로그램
시키고 싶은 일을 컴퓨터가 이해 가능케 표현하여 구현한 것("바보 같은 컴퓨터에게 주는 명령")
+)파일 확장명까지 표시되게끔 설정하세요~
-프로그래밍
명령을 작성하는 일
컴퓨터에서 동작하는 프로그램을 작성하는 일
'문제 해결' 방법과 절차를 프로그래밍 언어로 정의하는 과정
-알고리즘
특정 문제를 해결하기 위한 단계별 행동을 정의한 것
-컴퓨터에게 말 걸기
컴퓨터 말 Is 0/1과의 전쟁... 불편하다
-> '어셈블리어' 사람은 직접 2진수를 쓰지 않고 기호로 일단 표기
ex) ADD -> 0010 / SUB -> 0101
번역 - 어셈블러: 번역만 전담하는 소프트웨어, CPU에 따라 다름(X86용, ARM용 ...)
-"고급 언어"
0/1 신경 안 쓰고 / 기계마다 다르지 않고 / 영어와 아주 비슷한 언어 / C, FOTRAN, Python, PASCAL, Java, C#, ...
(C, Java, Python은 데이터형, 함수, 배열 등 공통점들이 있다.)
번역하는 프로그램이 조금 복잡한 일을 해야하며 이 때의 번역기를 '컴파일러'라고 함
고급 언어 -> 컴파일러 -> 기계어(2진 코드) -> 실행
-프로그래밍 언어의 역사

2. Java 소개

-요즘은 큰 시스템을 구축 Enterprise 급 시스템 플랫폼에 사용
-객체지향 언어
객체지향 프로그래밍의 개념은 명령어들의 순서에 따라 실행하는 관점이 아닌 객체의 개념으로 프로그래밍을 수행
(객체의 개념으로 클래스를 사용)
각 객체들은 데이터를 저장하는 속성과 기능을 가지고 객체 서로 간에 메시지를 주고받는 형태로 목적한 일 처리
추상화, 캡슐화, 상속, 다형성 등을 이용하여 프로그래밍
-Java의 특징
1)Java는 고급 언어


*처리 과정: Java 소스 코드 작성 -> 컴파일러 -> 바이트코드 -> JVM에서 실행
c.f. 일반적인 고급언어 프로그램 처리 과정: 소스 코드 작성 후 컴파일 후 컴파일 된 2진 코드를 CPU가 실행
(프로그램 소스 코드 작성 -> 컴파일러 -> 기계어 2진 코드 -> CPU 실행)
2)플랫폼에 독립적
=(?)멀티스레드 언어: 하나의 프로세스에서 여러 개의 스레드를 동시에 실행할 수 있도록 프로그래밍

3)메모리 자동 관리
C언어 같은 언어는 메모리의 할당, 관리를 프로그래머가 직접 수행
JAVA는 가비지컬렉션에 의해 객체 생성 시 메모리의 생성과 소멸의 생명주기를 가상 머신(JVM)이 해줌
3. Java 프로그램 개발
-개발환경 구축
개발도구인 JDK 설치 -> 환경변수 설정 -> Eclipse 설치
-JDK

-JDK의 종류: Java SE, Java EE, Java Me, Java Card

4) Java 프로그램의 구조
-클래스 구조

5) 프로그램 구성요소
-데이터: 프로그래밍에서 사용되는 데이터는 숫자(정수, 실수), 문자, 문자열, 논리값 등
-키워드: Java 프로그램 내부에서 이미 약속된 명령어
-상수, 기호, 식별자
*식별자는 Java 프로그램 내부에서 식별하기 위한 이름, 클래스/메소드/변수의 이름 등, 개발자가 지어야 함
-주석: 코드 내부에서 프로그래머가 남기는 메모

-변수
하나의 데이터를 저장하고, 변수에 접근할 수 있도록 주소를 가짐
변수를 사용하기 위해서는 어떤 데이터를 저장할 것인가를 결정해서 변수를 정의해야 하며 이것을 '변수 선언'이라고 함
ex) int age
-메소드
특정 기능을 수행하는 단위
기능을 수행하기 위해 필요한 데이터를 받아 그것을 처리한 다음 결과를 반환
*데이터를 받지 않고 처리할 수도 있음
데이터 처리 결과를 반환하는 경우와 반환하지 않는 경우도 있음
'CSE > CP1 이론' 카테고리의 다른 글
| CP1_06.객체지향 프로그래밍_Basics_1 (0) | 2024.05.02 |
|---|---|
| CP1_05.배열_2.String배열 (0) | 2024.04.30 |
| CP1_02.변수_2 (0) | 2024.04.24 |
| CP1_02.변수_1 (0) | 2024.04.24 |
| CP1_03.연산자*미해결포인트 있음 (0) | 2024.04.22 |