본문 바로가기

반응형

Java

세뱃돈 계산기를 만들어보자. ①요구사항 확인 요구사항 1) 상황 루피는 추석을 맞이해서 친척 어르신 분들에게 세뱃돈을 받았습니다. 우선 어머니께 세뱃돈을 맡겨두었는데, 미션을 해결해야 세뱃돈을 돌려주신다고 합니다 루피가 세뱃돈을 찾을 수 있도록 도와주세요! 2) 미션 어머니가 확인할 수 있도록 프론트도 함께 구현해서 배포하세요. 더하기, 곱하기, 나누기가 가능해야 하고, 올바르게 계산되어야 합니다. 3) 입력 세뱃돈의 금액 또는 연산자를 입력으로 받습니다. 입력은 정수 또는 연산자로 주어집니다. 입력은 한 줄에 한 사람의 세뱃돈 금액 또는 연산자가 주어집니다. 4) 프론트 화면 예시 5) 입력 예시 50000 * 2 + 30000 / 2 = 6) 출력 예시 115,000 7) 제약 사항 - 세뱃돈의 총 금액은 항상 0 이상이며, 디스플레이는 0으로.. 더보기
[Java] 스트림(stream)이란 무엇인가? 입출력에서 스트림(stream) 1. 고객이 서버로 데이터를 전달하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가 필요하다. 이것이 스트림(stream)이다. 2. 스트림이란 데이터를 운반하는 데 사용되는 연결통로라 할 수 있다. 3. stream은 영어로 개울, 시내라는 뜻을 가지고 있는데 물이 흐르는 것과 비슷한 개념이다. 4. 물은 높은 곳에서 낮은 곳으로, 즉 한방향으로 흐른다. Java에서 stream은 이와 유사한 점이 많다. 5. 스트림은 단방향 통신만 가능해서 입력과 출력을 동시에 수행하려면 2개의 스트림 (Input stream, Output stream)가 모두 필요하다. stream 예제 package Stream; import java.io.ByteArrayInputStre.. 더보기
[Java] 생성자(Constructor)란 무엇인가? 생성자 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'다. 인스턴스변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 하는 작업을 위해서 사용되기도 한다. 리턴값이 없음 생성자는 메서드처럼 클래스 내에 생성되고, 구조도 메서드와 유사하지만 리턴값이 없다. 그렇다고 void를 써주는 것은 아니다. 생성자의 조건 1. 생성자 이름은 클래스와 같아야 한다. 2. 생성자는 리턴값이 없다. Ex6_11.java class Data_1 { int value; } class Data_2{ int value; Data_2(int x) {//매개변수가 있는 생성자 value=x; } } class Ex6_11 { public static void main(String[] args) { .. 더보기
[Java] Calendar 클래스, getInstance() 메서드 Java Calendar 클래스 Calendar는 추상클래스라서 직접 객체를 생성할 수 없다. 메서드를 통해 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = Calendar.getInstance(); getInstance() 메서드는 java.util.Calendar 클래스에 구현되어 있다. 이 메서드는 Calendar 클래스의 정적 메서드로서, Calendar 클래스의 구현체를 반환한다. getInstance() 메서드는 현재 시스템의 날짜와 시간을 나타내는 Calendar 객체를 반환하는데, 이는 시스템의 기본 로케일과 타임존을 사용하여 생성된다. Calendar 클래스는 자바 표준 라이브러리인 java.util 패키지에 포함되어 있으며, getInstance() 메서드를 .. 더보기
[java] 컬렉션 프레임웍 - List, Set, Map 컬렉션 프레임웍 - List, Set, Map 1. 컬렉션 프레임웍이란? '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다. 컬렉션은 다수의 데이터, 데이터 그룹을 뜻하고 프레임 웍은 표준화된 프로그래밍 방식을 말한다. 다수의 데이터를 다루는데 필요한 다양하고 풍부한 클래스들을 제공한다. 데이터 정리할 때 쓰임이 있는 클래스들의 모음집이라 이해하자. 2. 컬렉션 프레임웍에서는 컬렉션데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였다. ★ Map - key & Value 쌍으로 이루어진 데이터의 집합 ① List - 순서가 있는 데이터의 집합. 중복을 허용한다. ② Set - 순서를 유지하지 않는 데이터의 집합, 데이터의 중.. 더보기
Object 클래스의 메서드 - equals(), hashCode() equals() 메서드 매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean값으로 알려 주는 역할을 한다. 객체를 생성할 때, 메모리의 비어있는 공간을 찾아 생성하므로 서로 다른 두 개의 객체가 같은 주소를 갖는 일은 있을 수 없다. 아래 코드는 멤버변수 10을 받고 있다. 멤버 변수가 같더라도 객체의 주소는 다르기 때문에 v1과 v2는 다르다는 결과가 나온다. public class Ex9_1 { public static void main(String[] args) { Value v1 = new Value(10); Value v2 = new Value(10); if (v1.equals(v2)) System.out.println("v1과 v2는 같습니다."); else System.out.. 더보기
Java 캡슐화와 접근 제어자(게터와 세터) 클래스나 멤버에 접근 제어자를 사용하는 이유는 클래스의 내부에 선언된 데이터를 보호하기 위해서다. 비밀번호를 누가 바꾸면 큰일 난다. 비밀번호는 외부의 접근을 막아야한다. 이것을 데이터 감추기, 캡슐화라고 한다. 외부에서 접근할 필요가 없는 멤버들은 private으로 지정하여 외부에 노출시키지 않음으로써 복잡성을 줄일 수 있다. 정리하면 접근 제어자(private)를 사용하는 이유는 1) 외부로부터 데이터 보호 2) 외부에 불필요한, 내부적으로만 사용되는 부분을 감추기 위한 목적 예시 코드 : 멤버변수에다가 접근제어자를 private으로 설정하여 외부에서 접근하지 못하도록 했다. 반면 메서드는 public이라서 외부에서 접근이 가능하다. public class Time3 { private int hour.. 더보기
HashMap 개념 및 예제 컬렉션프레임워크의 HashMap에 대해 알아보자. 주요 단어 : Key값, Value값, 해싱. 해싱이란 환자정보관리 예시를 떠올려보자. 주민번호가 7로 시작하는 환자의 의료기록을 알고 싶다면 주민번호 앞자리가 7인 서류함을 열어봐야한다. 7은 저장위치를 알려주는 것이다. 이는 배열의 인덱스에 해당한다. 해싱은 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보인다. 예제 코드 import java.util.*; import java.util.Scanner; public class HashMap1 { public static void main(String[] args) { HashMap map = new HashMap(); map.put("myId", "1234"); map.put("asdf", "1.. 더보기

반응형