Dev. Playground 🙌
/
Knowledge
/
Language
/
List
/
Java
/
이것이 자바다
Search
이것이 자바다
갤러리 보기
Table
Search
프로그래밍 언어란?
•
프로그래밍 언어
는 사람과 컴퓨터가 대화하기 위해서 사용하며, 사람의 언어와 기계어의 다리 역할을 하는 언어
•
프로그래밍 언어는
고급 언어
와
저급 언어
로 구분
◦
고급 언어
▪
컴퓨터와 대화할 수 있도록 만든 언어 중에서 사람이 쉽게 이해할 수 있는 언어
▪
컴파일(compile)
과정을 통해서 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어로 변환 한 후, 컴퓨터가 사용
▪
일반적으로 프로그래밍 언어라고 하면 고급 언어를 가리킴
▪
C
,
C++
,
Java
◦
저급 언어
▪
고급 언어와 반대로, 기계어에 가까운 언어
▪
어셈블리어
•
프로그래밍 언어과 관련된 개념
◦
소스(source):
프로그래밍 언어로 작성된 문서
◦
컴파일러(compiler):
사람이 작성한 소스를 기계어로 변환하는 소프트웨어
◦
프로그램(program):
컴퓨터에서 특정 목적을 수행하기 위해 프로그래밍 언어로 작성된 소스를 기계어로 번역한 것
자바란?
자바 소개
•
1991년, 썬의 엔지니어들에 의해서 고안된 오크(Oak)라는 언어에서부터 시작됨
◦
참고로 오크는 가전제품에서 사용될 목적이었음
•
1995년, 썬 마이크로시스템즈에서
자바(Java)
를 처음 발표함
•
1999년, 인터넷이 활성화되면서 웹 애플리케이션 구축용 언어로 자바가 급부상
◦
한 번의 소스 작성으로 다양한 서버 운영 체제에서 실행 가능한 언어는 자바 뿐이었기 때문
◦
이전에는 윈도우(Windows) 프로그램이 주류였기 때문에 C++에 비해 자바는 열세였음
Chapter01. 자바 시작하기
변수
변수란?
•
단 하나의 값을 저장할 수 있는 메모리 공간이다.
변수의 선언
•
어떤 타입의 데이터를 저장할 것인지 + 변수의 이름이 무엇인지 결정
•
변수는 선언된 블럭 내에서만 사용이 가능하다.
변수의 사용
변수의 저장
•
대입 연산자 ( = ) 을 사용하여 변수에 값을 저장
◦
변수를 선언하고 처음 저장하는 값 : 초기값
◦
변수에 초기값을 저장하는 행위 : 초기화
◦
변수에 직접 입력된 값 :
리터럴
( 정수, 실수, 문자(열), 논리 )
변수값 읽기
Chapter02. 변수와 타입
연산자
연산자와 연산식
•
연산(Operation) : 데이터를 처리하여 결과를 산출하는 행위
•
연산자(Operater) : 연산에 사용되는 기호
•
피연산자(Operand) : 연산의 대상이 되는 데이터
•
연산이 아무리 복잡하더라도 결과값은 오직 하나!
연산의 방향과 우선순위
•
수학에서 덧셈, 뺄셈 보다 곱셈, 나눗셈을 먼저 계산한다.
•
연산자도 우선순위와 연산의 방향이 존재한다.
◦
단항 연산, 대입 연산을 제외한 연산은 좌 → 우
◦
단항 연산의 우선순위가 첫번째. 대입 연산의 우선순위가 마지막.
▪
단항 > 이항 > 삼항 > 대입
◦
복잡한 연산식은 괄호를 사용한다.
단항 연산자
Chapter03. 연산자
코드 실행 흐름 제어
•
자바 프로그램 실행시 main() 메소드의
위에서 아래로
실행
•
흐름 제어문 : 실행 흐름을 원하는 대로 제어
◦
조건식 + 중괄호
블럭
◦
조건식의
연산 결과
에 따라 블럭의 실행 여부 결정
•
조건문 & 반복문
◦
조건문 : 블럭 실행이 완료되면
정상 흐름
으로 이어감
◦
반복문 : 블럭 실행이 완료되면
처음으로 복귀 ( Looping )
◦
제어문 내부에 다른 제어문 작성 가능 → 복잡한 흐름 제어
조건문
if
•
조건식의 결과에 따라 블록의 실행 여부 결정
◦
조건식이
True
⇒
if{...} 블록
◦
조건식이
False
⇒
if{...} 블록
if-else
•
if문 조건식의 결과에 따라 블록의 실행 여부 결정
◦
if문의 조건식이
True
⇒
if{...} 블록
else{...} 블록
◦
if문의 조건식이
False
⇒
if{...} 블록
else{...} 블록
Chapter04. 조건문과 반복문
데이터 타입 분류
•
기본 타입 ( 원시 타입 ) : 변수에 실제 값(리터럴)을 저장하는 타입
•
참조 타입 : 변수에 객체의 메모리 주소를 저장하는 타입
◦
변수는 메모리의
스택
영역에 생성
◦
객체는 메모리의
힙
영역에 생성
메모리 사용 영역
•
JVM이 시작
하면 운영체제로부터 할당받은 메모리 영역을 세부적으로 구분하여 사용
Chapter05. 참조 타입
Part 1
객체 지향 프로그래밍
•
Object Oriented Programming ( OOP )
•
현실 : 부품을 조립하여 하나의 완성품을 만든다.
•
객체 지향 프로그래밍 : 객체를 만들고 조립하여 하나의 완성된 프로그램을 만드는 기법.
객체란?
•
물리적
으로 존재하거나
추상적
으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것
◦
자동차, 자전거, 책, 사람
◦
학과, 주문, 강의, 업무
•
객체는
속성과 동작
으로 구성되어 있다.
◦
사람 : 속성(나이, 이름), 동작(잔다, 먹는다)
◦
자동차 : 속성(배기량, 색상), 동작(달리다, 멈추다)
◦
자바 : 속성(
필드
), 동작(
메소드
)
•
객체 모델링 : 현실의 객체를 소프트웨어 객체로 설계하는 것
◦
현실의
속성, 동작
→ 소프트웨어
필드, 메소드
객체의 상호작용
•
현실 세계의 모든 객체는 상호작용을 한다.
◦
나는 컴퓨터를 통해서 유튜브를 본다 → '나' - '컴퓨터' 간의 상호작용
•
소프트웨어의 독립적인 객체들이 서로 상호작용을 한다.
◦
상호작용 수단 = 메소드
◦
객체가 다른 객체의 기능을 이용 = 메소드 호출
Chapter06. 클래스