작성자 : 욱쓰
작성자 : 욱쓰
' IOT 기반 응용 SW과정 > Group Studying' 카테고리의 다른 글
5. 쓰레드 (0) | 2016.06.17 |
---|---|
은행 관리 프로그램 (0) | 2016.06.14 |
4. 기본 API (0) | 2016.06.09 |
3. 상속, 인터페이스 (0) | 2016.06.09 |
2. 클래스 (0) | 2016.06.09 |
작성자 : 욱쓰
작성자 : 욱쓰
5. 쓰레드 (0) | 2016.06.17 |
---|---|
은행 관리 프로그램 (0) | 2016.06.14 |
4. 기본 API (0) | 2016.06.09 |
3. 상속, 인터페이스 (0) | 2016.06.09 |
2. 클래스 (0) | 2016.06.09 |
<객체지향> 관련있는 변수와 함수를 하나의 꾸러미로 묶어서 관리, 실제 세계를 모델링하여 소프트웨어를 개발하는 방법 ;
객체 : 힙영역에 할당되있는 모든 데이터 (new연산자를 이용해 만들어진 데이터)
객체의 상태(state) : 객체의 특징값(속성) = 변수(필드)이다.
객체의 동작(behavior) : 객체가 취할 수 있는 동작 = 함수(메소드)
클래스 : 관련있는 함수와 변수를 조합해 만든 자료형 -> 객체란 클래스를 통해 생성해낸 데이터
<객체 지향 프로그래밍(Object-Oriented Programming, OOP)>은 컴퓨터 프로그래밍의 패러다임의 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.
객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다
출처 : https://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
<구조체 : 다른 타입의 변수들의 묶음 자료형> -> 사용자 정의 자료형
// 배열 : 같은 타입의 변수들의 묶음 자료형
class Student{
int age;
int score; //Student 타입으로 데이터를 한번 생성하면 그안에는
String name; // 그안에는 정수변수 두개 문자열변수 한개의 조합된 데이터가 만들어짐
}
public class StructTest {
public static void main(String[] args) {
// Student s;//우리가 만든 데이터타입 Student라는 타입의 변수 s를 생성
Student s = new Student(); //-Student데이터의 위치가담김
s.age = 10; s.score = 100; s.name = "학생1"; System.out.println("나이 : "+ s.age); System.out.println("점수 : "+ s.score); System.out.println("이름 : "+ s.name); } }
<함수(메소드) : 명령어들의 집합>
public static void 그림그리기명령어집합(){
System.out.println("-=-=-=-=-=--=");
System.out.println("-=-=-=-=-=-==");
System.out.println("-=-=-==-=----");
} // 나중에 또 사용될 가능성이 많은 코드들에 이름을 지어주면 재활용하기 쉬움
public static void 그림그리기명령어집합(){
String name ="??";
name ="학생1";
System.out.println("-=-=-=-=-=--=");
System.out.println("-=-=-=-=-=-==");
System.out.println("-=-=-==-=----");
System.out.println("그림그린사람 : " + name);
name = "학생2";
System.out.println("-=-=-=-=-=--=");
System.out.println("-=-=-=-=-=-==");
System.out.println("-=-=-==-=----");
System.out.println("그림그린사람 : " + name);
name = "학생3";
System.out.println("-=-=-=-=-=--=");
System.out.println("-=-=-=-=-=-==");
System.out.println("-=-=-==-=----");
System.out.println("그림그린사람 : " + name);
그림그리기명령어집합("학생1");
그림그리기명령어집합("학생2"); //인자값 // String name = "학생1"
그림그리기명령어집합("학생3");
public static void 그림그리기명령어집합(String name){
//매개변수
//함수 실행 전 매개변수 = 인자값 코드를 수행함
System.out.println("-=-=-=-=-=--=");
System.out.println("-=-=-=-=-=-==");
System.out.println("-=-=-==-=----");
System.out.println("그림그린사람 : " + name);
public class StringTest {
public static void main(String[] args) {
String proverb = "A barking dog";
String s1, s2, s3, s4;
System.out.println("문자열의 길이 = " + proverb.length());
s1 = proverb.concat(" never Bites!");
s2 = proverb.replace('b', 'B');
s3 = proverb.substring(2, 5);
s4 = proverb.toUpperCase();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);
}
}
Object 클래스의 주요 메소드 <-- 모든 자바 클래스들은 Object 클래스로부터 상속받는다.
메소드 | 설 명 |
String toString() | 현재 객체의 문자열을 반환한다 |
객체의 생성
Car myCar;
myCar = new Car();
1. 참조 변수 선언 : Car 타입의 객체를 참조할 수 있는 변수 myCar를 선언한다.
2. 객체 형성 : new 연산자를 이용하여 객체를 생성하고 객체 참조값을 반환한다.
3. 참조 변수와 객체의 연결 : 생성된 새로운 개체의 참조값을 myCar라는 참조 변수에 대입한다.
Day11 (0) | 2016.03.28 |
---|---|
Day10 public/private (0) | 2016.03.25 |
Day 08 정렬 (0) | 2016.03.23 |
Day 07 배열 (0) | 2016.03.22 |
Day 06 复习 (0) | 2016.03.21 |
<변수타입>
* 변수의 이름은 식별자(identifier)의 일종
* 변수 이름의 규칙
~ 식별자는 유니코드 문자와 숫자의 조합 /* 유니코드는 16비트 */
* 클래스명 : 대문자
* 변수명, 메소드명 : 소문자로 시작되어 2번째 단어의 첫 글자는 대문자로 한다.
기초형 : 정수 -> int // 실수 -> double
Alt + ↕ = 문장이동 // Ctrl + D = 문장삭제
관계연산의 결과물은 항상 boolean타입의 값 : true / false
논리 연산자는 참/거짓간의 연산
연산자의 우선 순위
(왼쪽 -> 오른쪽) // 단항,부호,대입은 (왼쪽 <- 오른쪽)
10101 11010
10000 <- and 연산결과
11111 <- or 연산결과
01111 <- xor 연산결과 :: 서로 같으면 거짓, 다르면 참
형변환 : 어떤 자료형의 값을 다른 자료형의 값으로 바꾸어 주는 연산
명시적 형변환 // 암시적 형변환
확대 형변환 // 축소 형변환
3가지의 제어구조
순차구조 // 선택구조 // 반복구조
double length = 2 * radius * pie;
double area = radius * radius * pie;
관례적으로 심볼릭 상수의 변수명은 모두 대문자 pi -> PI
Day 06 复习 (0) | 2016.03.21 |
---|---|
Day 05 if/while (0) | 2016.03.18 |
Day 03 영역 (0) | 2016.03.16 |
Day 02 메소드 (0) | 2016.03.15 |
Day 01 开始 (0) | 2016.03.14 |
百見不如一打 : 수백 번 본들 한번 쳐보고 실행해볼만 하다.
변수는 타입과 이름(바구니 구분용)을 가지고 있다.
:변수는 값을 담는 바구니인데 값의 유형에 따라 바구니의 유형도 여러가지가 있음
ex) ch, i, fvalue
변수의 초기화 : 변수에 처음으로 값을 넣어주는 것
ex) int x;
int 타입의 변수 x를 생성, 정수를 담을 수 있는 바구니 x를 생성, 정수변수 x를 선언
x = 100
x라는 변수에 100이라는 값을 담음, x라는 변수의 값을 100으로 초기화
상수(constant)는 프로그램이 실행하는 동한 변하지 않는 수.
10.0 : 실수상수 // 10 : 정수상수 // 'a' : 문자상수(한글자만) // "a" : 문자열상수
수식(expression)은 피연산자와 연산자로 이루어진다, 결과값을 가진다.
x = 100 / y = 200 / sum = x + y
대입 연산자는 오른쪽에 있는 값을 왼쪽의 변수에 담음
대입 연산자 == 할당 연산자 == 배정 연산자 /* == : 같다 */
산술 연산자
프로그래밍에서는 두개의 피연산자가 같은 타입이면 결과도 그 타입이 나와야함
문자열끼리의 산술은 이어붙임
ex) 4/3 = 1 <- 정수와 정수를 연산했기에 결과도 정수(소수버림)
5.0/2 = 2.5 <- 서로 다른놈들 연산하면 더 큰타입의 결과로 나옴(문자열>실수>정수)
6.0/3 = 2.0 // 6/3 = 2
System : 필수기능, 그냥 언제든 사용가능
out : 표준출력 -> 모니토로 데이터를 출력할 수 있는 기능을 가진 꾸러미
in : 표준입력 -> 키보드로부터 데이터를 읽어들일 수 있는 기능을 가진 꾸러미
Scanner : 입력데이터를 편리하게 가공해주는 도우미 꾸러미, 외부에 있어서 임포트 선언 해야 사용가능 < import java.util.Scanner; >
/* Ctrl + space : 자동완성 단축키
sysout <- Ctrl+spase = System.out.print(); */
nextInt : 키보드로부터 들어오는 다음 데이터를 정수로 읽어서 갖다줌, 대기하다가 데이터가 들어오면 정수로 가공해서 가공한 결과를 return.
서식문자 : %시리즈 // %d : 십진수를 나타냄
지역변수 : {}블록안에서 만들어진 변수
-> 변수선언문을 만날때 생성(공간할당), 자신이 포함된 함수가 종료될때 없어짐
스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다
// LIFO : Last-In, First-out
늦게만들어진놈이 꼭 먼저 없어짐
/* 큐(queue)는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다. */
스택영역(stack) : 지역변수들의 저장
힙영역(heap) : 동적으로 할당한 데이터들이 저장 (기초자료형이 아닌 데이터)
/** 프로그래밍에서,, 정적 : 컴파일시에 미리 예측가능하며 결정된 사항
동적 : 실행시에 결정되는 사항
<오류>
* 컴파일 오류(compile-error) : 컴파일이 실패한거 (ex. 문법이 틀림) <--대놓고 발견
* 실행 오류(rum-time error) : 실행중에 프로그램이 뻗는거 (ex. 정수입력 받을라고 스캐너 대기중인데 문자입력..) <-- 테스팅 통해 발견
* 논리 오류(logical error) : 컴파일/런타임 에러 없이 잘 동작했는데, 프로그램 결과가 원한값이 아님.
자바란?
* 이식성이 높은 언어이다. <- 서로 다른 실행환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수있는것, 자바 실행 환경 (JRE : Java Runtime Environment)
* 객체 지향 언어이다. <- 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는기법 : 객체 지향 프로그램(OOP : Object Oriented Programming)
* 메모리를 자동으로 관리한다. <- 쓰레기 수집기(Garbage Collector)
**막강한 오픈소스 라이브러리가 풍부하다.
자바 가상 기계(JVM)
"Write once, run anywhere."
Day 06 复习 (0) | 2016.03.21 |
---|---|
Day 05 if/while (0) | 2016.03.18 |
Day 04 변수 (0) | 2016.03.17 |
Day 02 메소드 (0) | 2016.03.15 |
Day 01 开始 (0) | 2016.03.14 |