뇌운동일지

[JAVA01] 객체지향의 개념, 프로그래밍 기초지식 본문

JAVA

[JAVA01] 객체지향의 개념, 프로그래밍 기초지식

purpleduck 2020. 3. 13. 09:40

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
Comments