다라다라V
article thumbnail
[Java] 명품 Java Programming 2장 연습 문제 풀이 해설 (실습 문제)

💡 Scanner 클래스를 이용하여 원화를 입력받아 달러로 바꾸어 다음 예시와 같이 출력하는 프로그램을 작성하라. $1=1100원으로 가정하고 계산하라  [정답]import java.util.Scanner;public class DaraSolution { public static void main(String[] args) { // 입력 받기위한 스캐너 생성 Scanner scanner = new Scanner(System.in); // 입력받기 System.out.println("원화를 입력하세요(단위 원)>>"); int won = scanner.nextInt(); // 원화를 달러로 변환 double do..

article thumbnail
[Java] 명품 Java Programming 2장 연습 문제 풀이 해설 (이론 문제)

💡 자바에서 클래스를 선언할 때 사용하는 자바의 키워드는? [정답] class[해설](p59) class 키워드로 '{'와 '}' 사이에 필드(변수)와 메소드(함수) 코드를 작성한다. 💡 다음은 10과 20을 더해 합을 출력하려고 작성한 자바 프로그램이지만 오류가 있다public class SampleProgram { int i; int j; i = 10; j = 20; System.out.println(i+j);}(1) 오류를 찾아내어 고쳐라(2) 이 자바 클래스를 저장하는 소스 파일 이름은 무엇인가?(3) 명령창에서 이 프로그램을 컴파일하는 명령은?(4) 명령창에서 이 프로그램을 실행하는 명령은? [정답] (1) public class SampleProgram { pub..

article thumbnail
[Java] 명품 Java Programming 1장 연습 문제 풀이 해설 (실습 문제)

💡 화면에 다음과 같이 "Welcome!!", "자바 세계로 오신 것을 환영합니다."를 출력하는 자바 프로그램을 작성하라. 이클립스를 이용하고, 작업 공간(workspace)은 C:\Temp로 하고, 프로젝트 이름은 1-1로 한다. 클래스 이름은 Welcome으로 한다.public class Welcome { public static void main(String[] args) { System.out.println("Welcome!!"); System.out.println("자바 세계로 오신 것을 환영합니다."); }}  💡 화면에 "Sorry~~", "재밌어서 미안합니다~~"을 출력하는 자바 프로그램을 작성하라. 이클립스를 이용하고, 작업 공간(workspace)..

article thumbnail
[Java] 명품 Java Programming 1장 연습 문제 풀이 해설 (이론 문제)

💡 C 언어 소스 파일의 확장자는 .c이고 컴파일하면 .obj 파일이 만들어진다. 그러면 자바 소스 파일의 확장자와 컴파일된 파일의 확장자는 무엇인가? [정답]소스 파일의 확장자 → .java컴파일된 파일의 확장자 → .class [해설](p20) 컴퓨터는 고급 프로그래밍 언어를 직접 처리할 수 없어 컴파일러가 필요하다. 자바 소스 프로그램은 확장자가 .java이고, 자바 전용 컴파일러에 의해 .class파일로 컴파일되며, 클래스 파일은 자바 가상 기계에 의해 실행된다.  💡 자바 언어를 처음 개발한 사람은? [정답] ① 제임스 고슬링 [해설](p21) 1991년 선마이크로시스템스의 제임스 고슬링이 가전제품에 사용할 목적으로 소프트웨어를 개발한다.   💡 Java, C, C++, C# 언어를 세상에..

article thumbnail
[JAVA] 13. 제네릭과 컬렉션
코딩언어/JAVA 2022. 11. 5. 00:15

자바의 배열은 모두 동적 할당으로 메모리를 저장합니다. 그러나 배열은 처음 할당받은 크기 이상으로 접근할 수 없고, 중간에 요소를 삽입하거나 삭제하기 어렵습니다. 이러한 부가적 처리가 필요할 때 제네릭과 컬렉션을 이용합니다. 다수의 데이터를 한 덩어리로 처리할 때, 제네릭 타입의 컬렉션 클래스를 이용합니다. 일반화된 자료형인 제네릭 타입과 객체 요소들의 저장하는 컬렉션을 배워봅시다. 또한 자바 컬렉션 인터페이스의 예인 List나 Map, Set, Vector 등의 사용예제와 함께 사용법을 알아봅시다. 📌제네릭 📚 제네릭(Generic) 제네릭 타입은 자료형의 일반화 어떤 데이터든 담을 수 있으나 한 번 담으면 해당하는 타입으로만 사용할 수 있음 구체화된 일반 타입은 얼마의 메모리를 할당받는지나 코드화 하..

article thumbnail
[JAVA] 12. 예외처리
코딩언어/JAVA 2022. 11. 4. 00:04

프로그램을 실행시키면 예기치 못한 결과를 맞이하거나, NullPointException과 같은 예외로 실행하지 못할 수도 있습니다. 오늘은 자바에서 예외를 처리하는 방법을 배워보겠습니다. 자바의 예외는 0으로 나누거나, Null 값을 가지는 참조 자료형을 참조하는 등 미리 지정된 경우가 있습니다. 또한 잘못된 처리로 인한 예외를 발생시켜야하는 사용자 지정 예외도 존재할 것입니다. 두 가지 경우의 예외를 발생시키고 이를 처리하는 방법에 대해 배울 것 입니다. 📌 예외 객체와 예외 클래스 📚 예외 (Exception) 프로그램 실행 중에 예기치 못한 상황에서 발생하는 비정상적인 상황을 가리킴 문법에 맞지 않게 작성된 코드는 컴퍼일러에 의해 컴파일 오류로 걸러지지만 예외는 사용자의 잘못된 입력같이 예기치 못한..

article thumbnail
[JAVA] 11 추상 클래스와 인터페이스
코딩언어/JAVA 2022. 11. 3. 02:18

세상에는 다양한 종류의 도형이 있습니다. 직사각형이나, 사다리꼴, 삼각형 등등 다양한 종류가 있고 이들은 모두 도형이라는 특징을 가지고 있습니다. 각 도형을 자바에서 구현하기 위해 Polygon 클래스를 부모로 상속한다고 가정해봅시다. 만약 각 도형의 넓이를 구하는 메서드를 Polygon 클래스에 구현해두면 각 도형에 맞는 넓이를 구할 수 없을 것입니다. 그렇다고 각 도형 클래스에 따로 정의하면 메서드 이름을 따로 기억해야하는 번거로움이 있을 것 입니다. 이러한 문제 상황을 해결하기 위해 만들어진 것이 추상 클래스와 인터페이스입니다. 비슷한 행위를 하는 각 클래스에 동일한 메서드를 강제로 구현하도록 하는 추상클래스를 배워봅시다. 또한 공통의 부모를 가지지 않지만 같은 행동을 강제해야하는 경우 사용하는 인..

article thumbnail
[JAVA] 09. 클래스 상속
코딩언어/JAVA 2022. 10. 24. 00:27

현실의 상속은 부모의 재산을 자식이 상속받는 것을 의미합니다. 그러나 객체 지향 언어에서의 상속은 부모의 생물학적 특징을 물려받는 유전과 비슷하다고 생각하면 좋습니다. 부모 클래스에서 만들어진 특징을 자식 클래스가 물려받고, 필요에 따라 유지, 수정, 추가할 수 있습니다. 자바의 객체별로 각 클래스를 작성하다 보면 반복되는 부분이 있을 것입니다. 이러한 부분을 효율적으로 동일한 처리할 때 사용하는 클래스 상속의 개념을 배워봅시다. 또한 하위 클래스에서 상속된 상위 클래스를 접근 및 수정하는 방법을 배워봅시다. 📌 클래스 상속의 기본 개념 📚 배경 비슷한 동작을 하는 서로 다른 객체들을 작성하는 방법은 두 가지입니다. 📃 포괄적인 속성/행위를 갖는 클래스로 구현 지나친 일반화로 서로 다른 객체 간에 구분이..

article thumbnail
[JAVA] 08. 배열
코딩언어/JAVA 2022. 10. 22. 01:46

일상 생활에서도 비슷한 것들끼리 묶어두면 유지 관리하기 쉽고, 필요할 때 내용을 찾기도 쉽습니다. 프로그래밍에서도 같은 자료형끼리 묶어서 관리하는 배열이 있습니다. 배열을 통해 각 내용들을 모으고 관련된 내용을 다루고 묶어서 관련된 처리를 할 수 있습니다. 자바에서의 배열을 다뤄보겠습니다. 기본 자료형과 참조 자료형의 1차원 배열은 어떻게 다룬지 비교해보고, 여러 배열들이 모여 만들어진 다차원 배열에 대해 배워겠습니다. 더불어 각 배열의 요소에 접근하는 방법이나 함수에 배열을 매개변수로 삼을 때 차이점도 배워보겠습니다. 📌 기본 자료형의 1차원 배열 📚 JAVA 배열 사용시 유의점 배열은 반복문으로 반복적 사용을 고려하여 설계해야함 배열 + 반복문을 세트로 생각할 것 자바의 배열은 참조 자료형 * 참조 ..

article thumbnail
[JAVA] 07-2 자바 기본 API
코딩언어/JAVA 2022. 10. 20. 01:10

📌 java.lang.Object 클래스 📚 java.lang.Object 클래스 자바의 모든 클래스들은 이 클래스를 기반으로 작성됨 모든 클래스의 부모 역할을 하는 클래스 명시적으로 상속 관계를 기술하지 않아도 모든 클래스에 강제로 상속시키는 최상위 클래스 java.lang.Object 클래스의 주요 메서드들은 다음과 같습니다. 메소드 설명 boolean equals(Object obj) obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true 리턴 * 객체는 속성값을 비교하는 것이 아닌 참조 변수 자체를 비교합니다. 때문에 객체의 값을 비교하기 위해서는 equals가 필요합니다. int hashCode() 현 객체에 대한 해시 코드 값 리턴 Sting toString() 현 객체에 대한 문자열 ..