Back-End 56

Java ■ 객체 배열

◈ 객체 배열 ◈ 객체를 배열 형태로 사용 • 인덱스(Index) 배열 내의 각 요소(element)에 접근하기 위해 사용되는 번호로써 인덱스는 0부터 시작함 ◈배열의 메모리 구조 ◈ 배열은 참조형 변수이기 때문에 힙 메모리에 값을 저장함 ◈ 객체 배열의 메모리 구조 ◈ • 설명 객체 배열은 동적으로 크기가 결정되기 때문에 일반 배열과는 다름 ◈ 객체 배열의 선언과 할당 ◈ • 객체 배열 선언 1. 클래스[] 배열명; 2. 클래스 배열명[]; • 객체 배열 생성 1. 클래스[] 배열명 = new 클래스[배열크기]; 2. 클래스 배열명[] = new 클래스[배열크기]; • 각각 배열 인덱스의 객체 생성 1. 배열명[인덱스] = new 클래스(); • 객체 배열 선언+생성+객체화 클래스[] 배열명 = { n..

Java ■ 객체 문제풀이

문 제 풀 이 [Q1] 오버로딩을 활용하여 덧셈을 수행하는 계산기 프로그램을 만드시오. 1. 스캐너로 사용자로부터 숫자를 입력받으세요. 2. 오버로딩을 활용하여 덧셈을 수행하고 결과를 출력하세요. 3. 클래스명 : QuizCalc 4. 메소드명 : add 5. 정수와 실수도 같이 계산이 가능해야 합니다. (ex. 3+3.5) 6. 오버로딩은 총 5개 이상 활용 하세요. [Q2] 멤버 변수를 활용하여 물품 구매 기능을 구현하시오. 1. Buy 클래스 생성 2. 초기 금액(소지금)을 설정하기 위한 변수 설정 -> int balance = 100000 3. 물건들의 가격 설정 (상수) -> 모니터 20000 (변수명 : MONITOR_PRICE) -> 모니터 18000 (변수명 : MOUSE_PRICE) ->..

Java ■ 객체

◈ 객체 지향 프로그래밍 (Object-Oriented Programming, OOP) ◈ 프로그래밍에서 필요한 데이터들을 추상화 시켜 객체를 만들고, 객체들간의 상호작용을 통해 프로그램을 개발하는 프로그래밍 패러다임 중의 하나 • 자바 객체 지향 개념에서의 핵심 4가지 캡슐화, 상속, 추상화, 다형성 • 캡슐화(Encapsulation) 변수와 메서드를 클래스로 묶어 독립적으로 동작하지 않도록 하거나 불필요한 정보를 노출시키지 않는 개념 1. 코드의 유지보수성을 향상 2. 객체의 내부 구현을 외부로부터 숨김 (정보 은닉) 3. 객체의 내부 상태를 제어하고, 잘못된 접근으로부터 보호함 • 상속(Inheritance) 부모 클래스가 가지고 있는 것을 자식 클래스가 물려받아 확장(extends)하는 개념 1..

Java ■ 배열(Array)

◈ 배열 ◈ 같은 자료형을 가진 변수를 하나로 묶어 관리함 • 인덱스(Index) 배열 내의 각 요소(element)에 접근하기 위해 사용되는 번호로써 인덱스는 0부터 시작함 ◈ 배열의 메모리 구조 ◈ 배열은 참조형 변수이기 때문에 힙 메모리에 값을 저장함. ◈ 배열의 선언과 할당 ◈ • 배열 선언 1. 자료형[] 배열명; 2. 자료형 배열명[]; • 배열 할당 1. 자료형[] 배열명 = new 자료형[배열크기]; (사용 권장) 2. 자료형 배열명[] = new 자료형[배열크기]; • 참고 개발자 스타일에 따라 조금씩 다르지만, 대부분 1번 형식을 선호함. 1. 가독성 : 자료형에 []가 직접적으로 연결되어 있어 배열임을 쉽게 파악 가능 2. 일관성 : 자바에서는 1번 형식을 권장하고 있어, 대부분의 코..

Java ■ 제어문(반복문)

◈ 반복문 ◈ 지정한 횟수 또는 조건에 따라 반복하여 실행하며 개발자에 따라 코드의 가독성이 좋아지거나, 코드 중복을 줄일 수 있음 ◈ for문 ◈ 초기식, 조건식, 증감식으로 구성되며 반복할 횟수를 알고 있는 경우에 사용함. 대부분의 경우 for문으로 사용됨. for(초기식; 조건식; 증감식) { 반복 실행할 코드 } *특정 조건이 만족할 때 까지 코드를 반복 ex) • for문 활용하기 (1) 스캐너를 통해 입력 받은 값 만큼 반복 • for문 활용하기 (2) 문자열의 길이만큼 반복 할 때는 입력 받은 변수.length()를 사용하여 문자열 길이만큼 반복 횟수를 지정함 ◈ 중첩 for문 ◈ 1. 첫번째 for문이 실행 : i = 0 2. 안에 있는 for문이 실행 : j = 0부터 9까지 반복 3. ..

Java ■ 제어문(조건문)

◈ 제어문 ◈ 프로그램의 흐름을 제어한다고 하여 제어문이라고 함. • 제어문의 종류 1. 조건문 : if, switch 2. 반복문 : for, while, do-while 3. 제어문 : break, continue * 조건문, 반복문 안에서 또 다른 흐름을 제어하는 역할 ◈ 조건문 ◈ 특정 조건을 검사하여, 참(true)이면 코드를 실행하고 거짓(false)이면 실행하지 않음 ◈ if문 ◈ 어떠한 조건이 만족되었을 때 명령을 수행할 수 있도록 해주는 문법 개발자가 가장 자주 사용하는 제어문으로, 특정 범위나 여러가지 케이스에 대한 대응이 가능함. - 조건이 참(true)일 경우 { } 안의 코드가 실행 - 조건이 거짓(false)일 경우 실행되지 않음 ex) • if 문 활용하기 - 스캐너를 통해 입..

Java ■ 연산자(Operator)

◈ 연산자 (Operator) ◈ 특정 변수나 리터럴(값)에 대해 주어진 식을 계산하여 결과를 얻어내는 연산을 수행하는 기호 ◈ 연산자 우선 순위 ◈ ◈ 산술 연산자 ◈ • 산술 연산자(+, -, *, /, %) 사칙연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)를 뜻함 ex) ◈ 증감 연산자 ◈ • 증감 연산자(++, --) : 피연산자를 1 증가 또는 감소 시킴 ex) ◈ 전/후위 증감 연산자 ◈ 증감 연산자의 위치에 따라 피연산자의 값을 1 증가 또는 감소한다. • 전위 연산자 • 후위 연산자 ◈ 비교 연산자 ◈ • 비교 연산자(>,

Java ■ 변수(Variable)

◈ 변수 ◈ : 어떠한 값(data)을 저장할 수 있는 저장 공간 ex) 변수를 사용하지 않을 경우 아래와 같이 100을 수정하기 위해서 하나하나 총7번 수정해야함. 여기서 변수를 사용하면 총 1번만 수정하면 끝! ◈ 변수 선언 ◈ : 메모리에 값(data)을 저장할 공간을 확보하는 과정 ◈ 선언 방법 ◈ : 자료형 변수명 ; ◈ 자료형(Data Type) • 자료형의 크기 ◈ 바이트(byte)와 비트(bit) ◈ • 비트(bit) : 컴퓨터에서 정보를 표현하기 위한 최소 단위로써 0 또는 1로 표현됨 • 바이트(byte) : 1byte는 8개의 bit로 이루어진 단위를 의미함 (1byte = 8bit) ◈ 변수명 네이밍 규칙 ◈ 대소문자를 구분하며 길이 제한이 없음. 예약어 사용 불가 ex) int ,..

수업 내용 (1) 상속

■ 상속 ■ • 상속 다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 상속받아 재활용하는 것 부모와 자식간의 관계로 나타냄 -장점 1. 코드를 재활용함으로써 코드의 중복을 제거하고, 코드의 양이 줄어듬 2. 공통된 코드를 관리할 수 있기 때문에 코드의 유지보수(추가/변경)에 좋음 ■상속의 종류 ■ • 다중 상속 여러 개의 부모 클래스를 가질 수 있는 상속 • 단일 상속 한가지의 부모 클래스만 가질 수 있는 상속 -자바에서는 단일 상속만을 지원함 ■ 다중 상속의 문제점 ■ 1. 모호성 상속받은 부모 클래스들끼리 같은 이름을 가진 메소드나 변수가 있을 경우 어떤 부모 클래스에서 호출 해야하는지 알 수 없는 모호성이 발생 2. 복잡성 다중 상속을 사용하면 클래스 간의 관계가 복잡해지고 코드의 가독성과 유지..

수업 내용 (1) 호출 스택

■ 호출 스택 ■ • 스택(Stack) 쌓아 올리는 형태를 가진 자료구조이며 후입선출(LIFO, Last In First Out)의 구조 • 큐(Queue) 줄을 서서 기다리는 형태를 가진 자료구조이며 선입선출(FIFO, First In First Out)의 구조 • 스택(Stack) 1. 데이터 0을 꺼내기 위해서는 데이터 1, 2를 모두 꺼내야 함 2. 데이터 1을 꺼내기 위해서는 데이터 2를 꺼내야 함 • 큐(Queue) 1. 데이터 0을 바로 꺼낼 수 있음 2. 데이터 1을 꺼내기 위해서는 데이터 0을 먼저 꺼내야 함 • 호출 스택(Call Stack) 메소드 호출과 관련된 정보를 저장하는 메모리 영역으로 후입선출(LIFO) 구조를 가짐 -설명1 main 메소드가 호출되어 스택에 올라가있는 상태 ..