Today I Learned-11
자바프로그래밍 - 2
- 어제 내용 복습
- 비트 연산자
- 조건문/반복문
- 클래스와 객체
복습
- java:
- wora(write once run anywhere): 다양한 플랫폼에서 된다
- oop(object oriented programming): 객체지향 프로그래밍
- wora(write once run anywhere): 다양한 플랫폼에서 된다
- java 자료형:
- 정수: byte(1), short/char(2), int(4), long(8)
- 실수: float(4), double(8)
- 정수: byte(1), short/char(2), int(4), long(8)
- 요소별 작성법:
- 패키지 - 소문자
- 클래스 - 파스칼 케이스
- 변수/메서드 - 카멜 케이스
- 패키지 - 소문자
- 디버깅(중요!)
- 줄번호에 break point 지정
- F11 디버깅 실행
- step into(F5): 메서드, 반복문, 특정 부분에 들어갈 때
- step over(F6): 다음 단계로 진행
- exit(F7): 빠져나옴
- terminate(ctrl+F12): 디버깅 종료
- 줄번호에 break point 지정
자바의 연산자 - 1. 기본 연산자
- 복합 대입 연산자
ex.
num1 += 2;
=num1 = num1 + 2;
- 조건 연산자 = 삼항 연산
자바의 연산자 - 2. 비트 연산자
- 비트 연산?
- 각 값들이 2진수 형태로 연산됨
- 비트 단위 연산 수행.. 속도 빠름!
- 프로그램에서 특정 값을 만들거나 연산할 때 사용
- 각 값들이 2진수 형태로 연산됨
- 비트 논리 연산자
|(or)
연산: 비트값이 하나라도 1이면, 1출력
^(xor)
연산: 비트값이 같으면 0, 다르면 1 출력
~(반전)
연산: 비트값, 0은 1로 1은 0으로 바꿔 출력 - 비트 이동 연산자
<< n
: 왼쪽으로 비트 이동 = 기존 값 * 2^n
>> n
: 오른쪽으로 비트 이동 = 기존 값 / 2^n- 연산자 우선순위
- 단항 > 이항 > 삼항
- 산술 > 관계 > 논리 > 대입
- 대입 연산자 우선순위가 가장 낮다
- ( ) 의 우선순위가 가장 높다
- 단항 > 이항 > 삼항
- 연산자 우선순위
제어 흐름 이해 - 1. 조건문
- 주어진 조건에 따라 결과값 다르게 출력
- if문 / if-else문
- switch-case문
- 조건식의 결과가 정수/문자열이고, 그 값에 따라 수행문이 다를 때 사용
- 코드 깔끔, 가독성 up
- case별로 break; 꼭 사용!
- 케이스값은 숫자/문자열 모두 가능
- 조건식의 결과가 정수/문자열이고, 그 값에 따라 수행문이 다를 때 사용
제어 흐름 이해 - 2. 반복문
- while문
- do-while문
- while문은 조건식 먼저 확인 후 실행
- do-while문은 일단 실행 후 조건문 확인
- while문은 조건식 먼저 확인 후 실행
- for문
- 문법: for(초기화식; 조건식; 증감식) { 수행문; }
- while문보다 가독성 좋음!
- 문법: for(초기화식; 조건식; 증감식) { 수행문; }
- continue문
- 특정 조건을 건너뛸 때 사용
- continue문을 만나면,
직전의 ‘조건식’&’증감식’으로 되돌아감
- 특정 조건을 건너뛸 때 사용
- break문
수행문 반복을 중단할 때 사용
클래스와 객체 - 1. 객체지향 프로그래밍과 클래스
- 객체지향 프로그래밍
- 객체: 의사, 행위가 미치는 대상
- 어떤 대상(객체)을 가지고 프로그래밍 함
- 즉, 객체를 만들고 객체들 사이에 일어나는 일을 구현!
- 객체: 의사, 행위가 미치는 대상
- 클래스
- 객체들 만드는 틀!
- 객체의 속성(멤버변수), 기능(메서드)을 구현
- 클래스 생성:
(접근 제어자) class 클래스명 { 멤버변수; 메서드; }
- 객체 생성:
클래스명 객체명 = new 클래스명();
- 객체들 만드는 틀!
- 패키지
- 클래스 파일의 묶음
- 파일을 담는 폴더와 같음
- 클래스 파일의 묶음
클래스와 객체 - 2. 메서드
- 함수 정의/호출
- 반환값(return)
- 없으면 ** void **
- 있으면 해당 자료형(int, String 등)
- 스택 메모리
- 함수를 호출하면 그 함수를 위한 메모리 공간(스택) 이 할당됨
- Last In, First Out / First In, Last Out
- 즉 A-B-C 순으로 호출됐다면, C-B-A 순으로 스택 해제!
클래스와 객체 - 3. 클래스와 인스턴스 ★매우 중요★
- 클래스: 멤버변수, 메서드로 구성됨
- 멤버변수: 클래스의 속성
- 메서드: 클래스의 기능
동일 패키지 안에서는 파일이 다르더라도.. 클래스 공유!!
- 인스턴스: 클래스가 메모리 공간에 생성된 상태
생성된 클래스의 인스턴스를 ‘객체’라고..
- 인스턴스의 참조변수 사용
- 참조변수.멤버변수 / ex.
student1.studentName = "길동";
- 참조변수.메서드 / ex.
student1.getStudentName();
- 참조변수.멤버변수 / ex.
- 용어 정리
용어 | 설명 |
---|---|
객체 | 객체 지향 프로그램의 대상 |
클래스 | 객체를 프로그래밍하기 위해 코드로 만든 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
멤버 변수 | 클래스의 속성, 특성 |
메서드 | 멤버 변수를 이용하여 클래스의 기능을 구현 |
참조 변수 | 메모리에 생성된 인스턴스를 가리키는 변수 |
참조 값 | 생성된 인스턴스의 메모리 주소 값 |
클래스와 객체 - 4. 생성자(constructor)
- 개념
- 클래스 이름이 곧 생성자 이름
- class를 만들 때 호출하여, 멤버변수/상수를 초기화
- 반환값 없음!
- 문법
- 오버로드(overload)
클래스에 생성자가 두 개 이상 제공되는 경우를, 생성자 오버로드
클래스와 객체 - 5. 참조 자료형
- 변수 선언할 때,
- 크기가 정해진 ‘기본 자료형’
- 클래스 자료형으로 선언하는 ‘참조 자료형’
String
,Class
,Wrapper
등 : JDK에서 제공하는 참조 자료형
클래스와 객체 - 6. 정보 은닉
- 접근 제어자
- 클래스 내부의 변수/메서드/생성자에 대한 접근권한 설정
- public: 외부 클래스에서의 접근/사용 가능
- private : 외부 클래스에서의 접근/사용 불가
eclipse 단축키
- ctrl + w : 열린창(소스코드) 닫기
- ctrl + shift + w : 모든 열린창(소스코드) 닫기
- ctrl + shift + o: 외부의 파일(클래스) 가져옴
과제, ~4/29(금)까지 제출
- 범위: 책 p.79 ~ p.163
- 복습/연습문제
- ‘1분 복습’, ‘연습 문제’의 문제&답, ‘타이핑’
- ‘나혼자 코딩’, ‘타이핑, 디버그’
제출파일: 이형록_220422_과제제출.txt
- ‘1분 복습’, ‘연습 문제’의 문제&답, ‘타이핑’
- 실습코드
- 이클립스에 타이핑 (패키지, 클래스 동일하게)
제출파일: 이형록_220422_실습코드.txt (이클립스에서 작성한 내용을 복사)
- 이클립스에 타이핑 (패키지, 클래스 동일하게)
- 복습/연습문제
다음 강의 준비
nice!!!!!!!