일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- constantnumber
- concreteclass
- overload
- Vector
- hamobee
- reference
- garbagecollection
- object
- string
- 추상클래스
- class
- Polymorphism
- arguments
- 객체형변환
- hashCode
- Hashtable
- methodArea
- 콘크리트클래스
- 생성자
- value
- super
- run()
- override
- Eureka
- fuction
- MSA
- ALTER
- eclipse
- abstractclass
- start()
- Today
- Total
뇌운동일지
[JAVA01] 객체지향의 개념, 프로그래밍 기초지식 본문
1. 객체지향 ( Object-Oriented Programming == OOP )
: 객체지향은 코드를 재활용할 수 있다는 특징
- 상속
- 은닉화 ( 어느 수준까지 접근할 수 있는가)
- 추상화 -> 개는 추상, 바둑이는 객체(instance - 임의로 만들어진, 임시객체)
메모리 위에 로딩되었을 때가 instance, 객체는 영원하지 않음
- 다형성 (보는 각도에 따라 물건이 다르게 보이도록 만드는 것)
트랜스포머같이 로봇과 자동차를 동시에
2. 변수
HDD에 프로그램이 저장되어있음
Memory에 프로그램을 로드해야 실행됨,
memory에 동시에 여러개가 있으면 여러개가 실행중 -> 멀티태스킹
memory위에서 실행중인 program은 process
Mem. 에서 CPU(central processing unit)에 갔다가 돌아오는 것 - 1Hz(헤르츠),
4GHz(1초에 40억번 계산)
하나의 프로세스 안에 여러 작업, 프로세스는 스레드의 집합
하나의 프로세스 안에 여러 개의 스레드 - 멀티스레드, 동시에 여러 스레드를 작업
하나의 스레드가 작동중일 때, 다른 스레드에 접근할 수 있도록
스레드는 작업의 단위
int a; //선언
a = 99; //초기화, 대입연산자 <-, 99라는 값을 a라는 메모리에 저장할 것
변수 - 메모리 상에 어떤 크기만큼의 공간을 확보하고, 주소를 지정
어떤 값을 저장하기 위한 메모리 영역에 대한 이름
변수는 가장 마지막에 대입된 값을 가지고 있음, 수시로 재초기화 될 수 있다
상수 - 메모리 확보 후, 한번만 초기화 final int a = 99; // 더 이상 값을 바꿀 수 없음
3. 연산자 a+b (우선순위)
+ - * / 산술
> < >= <= != == 비교
= += -+ *= 대입
~ & ^| 비트
단항연산자가 우선순위가 높다.
--------------------> 순차적 처리
절차지향
4. 제어문 - 저급절차지향
(프로그램 - 순서, 조건, 반복)
if, else
for
while
switch
5. 함수 - 고급절차지향
재료를 넣으면 그것을 가공해서 결과를 돌려준다.
결과를 리턴하면 함수는 메모리 상에서 사라짐.
함수는 재활용의 기초
-----------------------> C언어는 여기까지, C언어는 절차지향
6. 클래스
클래스 안에 변수들, 함수들
자바 프로그램의 기본단위
핸드폰 - 전화번호, 걸기(), 통화(), 끊기()
인스턴스화
클래스명 객체변수 = new 생성자(); // 인스턴스를 만드는 명령
핸드폰 LF1200 = new 핸드폰();
LF1200.전번 = 019-1111-1111;
LF1200.걸기();
LF1200.통화();
LF1200.끊기();
생성자는 클래스 이름과 동일하고 뒤에 괄호만 입력하면 됨.
new : heap영역에 메모리를 할당.
장점) 이식성이 뛰어나다.
C언어는 프로그래머가 메모리를 관리, JAVA는 메모리 관리를 해줘서 안전.
단점) 느리다.
이글립스는 저장할 때 자동으로 컴파일
'JAVA' 카테고리의 다른 글
[JAVA06] class (0) | 2020.03.13 |
---|---|
[JAVA05] Arrays (0) | 2020.03.13 |
[JAVA04] 삼항연산자, if문, switch문, for문 (0) | 2020.03.13 |
[JAVA03] Data Type, 연산자 (0) | 2020.03.13 |
[JAVA02] JDK, JRE, JVM (0) | 2020.03.13 |