분류 전체보기
-
이것이 자바다 | 6장 클래스JAVA/이것이 자바다 2022. 6. 27. 18:29
6.1 객체 지향 프로그래밍 속성 - 필드 동작 - 메소드 현실 세계의 객체를 소프트웨어 객체로 설계하는 것 -> 모델링 객체 모델링: 현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정 메소드: 객체들 사이의 상호작용 수단 메소드 호출: 객체가 다른 객체의 기능을 이용하는 것 ex) 리턴값 = 전자계산기객체.메소드(매개값1, 매개값2, ...); 캡슐화 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것 상속 상위 객체가 하위 객체에게 필드와 메소드를 물려주어 하위 객체가 사용할 수 있도록 하는 것 다형성 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질 6.2 객체와 클래스 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 함 클..
-
이것이 자바다 | 5장 확인문제 9번JAVA/이것이 자바다 2022. 6. 27. 16:30
package chap05; import java.util.Scanner; // 키보드로부터 학생 수와 각 학생들의 점수를 입력받아서, 최고 덤수 및 평균 점수를 구하는 프로그램 public class Exercise09 { public static void main(String[] args) { boolean run = true; int studentNum = 0; int[] scores = null; Scanner scanner = new Scanner(System.in); while (run) { System.out.println("______________________________________________"); System.out.println("1.학생수 | 2.점수입력 | 3.점수리스트..
-
이것이 자바다 | 5강_열거 객체의 메소드JAVA/이것이 자바다 2022. 6. 27. 15:19
name() 열거 객체가 가지고 있는 문자열 리턴 Week today = Week.Sunday; String name = today.name // name에는 SUNDAY가 저장됨 ordinal() 전체 열거 객체 중 몇 번째 열거 객체인지 알려줌 Week today = Week.SUNDAY; int ordinal = today.ordinal(); // ordinal에는 6이 저장됨 compareTo() 매개값으로 주어진 열거 객체를 기준으로 전후로 몇 번째 위치하는지 비교 *만약 열거 객체가 매개값의 열거 객체보다 순번이 빠르다면 음수, 순번이 늦으면 양수가 리턴됨 Week day1 = Week.MONDAY; Week day2 = Week.WEDNESDAY; int result1 = day1.compa..
-
자료구조 제 13-3 강 (스택의 구현 2)자료구조 2022. 3. 14. 15:10
static 지역변수에 사용할 경우: 프로그램 종료 시까지 메모리 공간이 남아있음 전역변수에 사용할 경우: 다른 파일에서 해당 변수에 접근하는 것을 막아줌 stackADT.c #include #include #include "stackADT.h" #define INIT_CAPACITY 100 struct stack_type { Item* contents;/* 배열 */ int top; int size;// 배열의 크기 }; static void terminate(const char* message)// 예외 사항이 발생했을 때, 그에 관한 메세지 출력 후 exit { printf("%s\n", message); exit(1); } Stack create()// Stack* craete()가 아닌 이유: ..
-
자료구조 제 13-2 강 ( 스택의 구현 )자료구조 2022. 3. 14. 00:08
배열을 이용한 구현 #include "statck.h" #define MAX_CAPACITY 100 char stack[MAX_CAPACITY];// 스택에 저장되는 데이터의 타입을 문자(char)라고 가정 int top = -1;// index of the top element void push(char ch) { if (is_full())// 스택이 가득차면 더이상 push할 수 없다. return; top++; stack[top] = ch; } char pop() { char tmp = stack[top]; top--; return tmp; } char peek() {// peek을 호출하기 전에 먼저 empty인지 검사해야 한다. return stack[top]; } int is_empty() {..
-
자료구조 제 13-1 강 (스택의 개념과 구현)자료구조 2022. 3. 13. 23:55
스택 일종의 리스트 단, 데이터의 삽입과 삭제가 한쪽 끝에서만 이루어짐 LIFO (Last-In, First-Out) 삽입/삭제가 일어나는 쪽을 스택의 top이라고 부름 스택이 지원하는 연산 push: 스택에 새로운 원소를 삽입하는 연산 pop: 스택의 top에 있는 원소를 스택에서 제거하고 반환 peek: 스택 top의 원소를 제거하지 않고 변환 empty: 스택이 비었는지 검사 스택 응용 예: 괄호 검사 문제 입력 수식의 괄호가 올바른지 검사 단순히 여는 괄호와 닫는 괄호의 개수 비교만으로는 부족 스택을 이용하여 검사 ex) [ a + b * { c / ( d - e ) } ] + ( d / e ) 여는 괄호는 스택에 push 닫는 괄호가 나오면 스택에서 pop한 후, 두 괄호가 같은 유형이어야 함 ..
-
객체지향언어 1차시카테고리 없음 2022. 3. 10. 01:12
2-1>#include int main(){ std::cout std::cout -> 모니터 출력endl -> \n 2-2>/************************************************************** * 별로 사각형을 출력하는 프로그램 **************************************************************/#include using namespace std;int main(){ // 별 기호로 정사각형 출력 cout using namespace std; -> std라는 이름의 공간을 사용하겠다는 의미 (같은 이름을 가진 함수가 여러 개의 namespace에 존재하는 경우 이..
-
*자료구조 제 11강 (이중연결리스트)자료구조 2022. 2. 27. 02:07
단방향 연결 리스트의 한계 어떤 노드의 앞에 새로운 노드를 삽입하기 어려움 삭제의 경우에 항상 삭제할 노드의 앞 노드가 필요 단방향의 순회만이 가능 이중 연결 리스트 각각의 노드가 다음 노드와 이전 노드의 주소를 가지는 연결 리스트 양방향의 순회 가능 struct node { char* data; struct node* next; struct node* prev; }; typedef struct node Node; Node* head; Node* tail; int size = 0;//연결리스트의 노드의 개수 노드 삽입 Node* new_node = (Node*)malloc(sizeof(Node));//새로운 노드 생성 new_node->data = "Sharon"; new_node->next = p; n..