-객체지향 프로그래밍
1.Python : 컴퓨터보다 사람에게 초첨이 더 맞춰져 있는 언어 -고급 언어
2.Java : 컴퓨터보다 사람에게 초첨이 더 맞춰져 있는 언어 - 고급 언어
-절차지향 프로그래밍
1.C : 사람보다 컴퓨터에게 초점이 더 맞춰져 있는 언어 - 저급언어
*난이도 : Python -> Java -> C
-저급 언어의 장점
1.빠름
2.최소한의 용량으로 프로그램 개발이 가능 = 메모리를 효율적으로 관리할 수 있음
-저급 언어의 단점
1.개발하기가 어려움(하나부터 열까지 내가 다 만들어야함)
*반도체 운영체제의 영향을 줌
-드라이브
(조건)동일 가격이라고 했을 때
SDD - 빠르지만 용량이 작음
HDD - 느리지만 용량이 큼
-고급 언어의 장점
1.개발하기 쉬움
2.유지보수가 쉬움
-고급 언어의 단점
1.느림
2.메모리를 효율적으로 관리할 수 없음
*고급 언어 ex) 웹, 앱
-변경 사항이 많음 = 수시로 확인하고 고쳐야할 게 많음
-유지보수를 해야함
-빠르고 작은 용량
-제약 조건이 많음
-경쓸 게 많음
-어려움
-관리하기가 쉬움
-데이터를 저장하는 방식이 까다로움
-유지보수가 쉬움
ex) 웹,앱
-제약 조건이 거의 없음
-신경쓸 게 별로 없음
-쉬움
-관리하기가 어려움
-데이터를 저장하는 방식이 자유로움
-유지보수가 어려움
ex) 빅테이터,AI
-- --
객체 = 클래스
상속
인터페이스
추상
출력이란 ?
출력 = 코드의 실행 결과를 확인하기 위함
-콘솔을 통해 출력
-개발자가 코드의 실행 결과를 확인하기 위한 것
-디버깅 하기 위한 것
컴퓨터에게 입력이란 ? - 키보드, 마우스
출력이란 ? - 모니터
System.out.println 줄바꿈해서 나옴
System.out.print 줄바꿈X
System.out.printf 줄바꿈X , 서식지정자를 사용 가능
필수
public class Main {
public static void main(String[] args) {
}
}
; = 마침표 역할
\n = 줄바꿈
-아무데나 사용할 수 있는 건 아니고 "" 안에서만 사용 가능
-println prin tprintf에서도 동일하게 사용 가능
문자서식지정자
-"%d" = int 정수형
System.out.println("a" + 1 + "sd");
System.out.printf(""a%dsd" , 1);
*동일한 값
글자 + 글자 = 글자들을 이어붙임
a -> 숫자로 불가능
1 -> 문자로 가능 ex) ("1")
글자 + 숫자 = 글자와 숫자를 이어붙임
자바는 서로 다른 타입의 테이터를 연산할 수 없음
-> 글자 + 숫자는 직접적으로 연산할 수 없음
-> 그래서 자바는 타입을 맞춘 뒤에 연산
System.out.println(11) = "" 없이도 숫자이기 때문에 출력 가능
System.out.println(asd) = "" 없으면 문자이기 때문에 출력 불가능
-변수는 오직 단 하나의 값만 가질 수 있음
-변수는 대소문자를 구별
ex) 1-> 2
"asd" -> "qwe"
같은 타입으로 변하는 수
일부 다른 타입으로 변할 수 있음 ex) 1 -> "1"
오직 정수형 데이터만 들어갈 수 있는 X라는 변수(하나의 공간)를 만들고 7이라는 값을 넣겠다.
변수 선언 및 초기화
1. int X = 7;
int X; - 오직 정수형 데이터만 들어갈 수 있는 X라는 변수를 만든다.
X = 7; - X라는 변수에 7이라는 값을 넣겠다.
*1과 2는 동일한 값
3.초기화 : 처음의 값을 지정
int -> 데이터 타입
x -> 변수 명
= -> 대입연산자
== -> 같다
7 -> 값
; -> 마침표
int x = 7;
int x = 5;
*동일한 문자 사용 불가능
int x = 7;
x = 5;(재할당)
4.활용
-값으로써 활용
-공간으로써 활용
-변수가 = (대입연산자)의 좌변에 위치하면 무조건 공간
변수가 = (대입연산자)의 우변에 위치하면 무조건 값
5.명명규칙
1.지키지 않으면 실행이 불가한 상황
-변수명은 숫자로 시작할 수 없음(숫자로 시작하지 않으면 문자 길이의 대한 제한X)
ex) int 1x = 7;
-사용할 수 있는 특수문자는 _,$ 뿐임
-자바의 예약어는 이름에 사용할 수 없음
2.관례상 지켜야 하는 상황
-표기법을 준수함
표기법 4가지 - 파스칼 : 클래스명명 지을 때 사용
첫글자는 무조건 대문자,
두 단어 이상이 합쳐질 경우 다음에 오는 단어의 첫글자도 대문자
ex)TestPlayer
- 카멜 : 변수, 메서드명 지을 때 사용
첫글자 무조건 소문자
두 단어 이상이 합쳐질 경우 다음에 오는단어의 첫글자는 대문자
ex)testPlayer
- 헝가리안 : 잘 사용하지 않음
이름 앞에 타입을 약식으로 명시
굳이 쓴다면 변수명에 사용
ex)iTestPlayer
- 스네이크 : 잘 사용하지 않음
굳이 쓴다면 변수명에 사용
단어들마다 _로 분리
ex)test_player
-변수명은 변수의 사용 목적에 따라 이름을 적절하게 지어야함
-길이에 제한은 없는데 너무 긴 것은 좋지 않음
1.논리형
-boolean -기본값 : false
2.정수형
-byte -기본값 : 0
-short -기본값 : 0
-int(integer)(기본) -기본값 : 0
-long -기본값 : 0L
3.실수형
-float -기본값 : 0.0F
-double(기본) -기본값 : 0.0
4.문자형
-char(character) -기본값 : "\n0000"
-char a = 'a' (하나의 문자만 넣을 수 있음)
*0 = 거짓(false)
1 = 참(true)
데이터의 손실이 없을 경우만 자바가 알아서 해결
boolean , int , double가 주로 많이 쓰임
-자바에 존재하는 모든 데이터 타입중에 기본 8가지를 제외한 나머지 참조형 타입(String)
조건 : 어떤 일을 이루게 하거나 이루지 못하게 하기 위하여 갖추어야 할 상태나 요소
-모든 프로그램은 조건으로 이루어져 있음
조건문 기본 모양
if (조건이 들어가는 자리) {
조건이 만족되었을 때 처리할 코드
}
=만약 ~ 한다면 ~
else if() {
}
else if : 하나를 만족하면 나머지는 보지 않음
else : 조건을 따지지 않고 무조건 함 = 그 밖의 모든 것
*조건문 시작은 무조건 if