목록2024/02/14 (4)
사이먼's 코딩노트
[추상 클래스] 아래 코드를 해석하면서 추상 클래스라는 새로운 개념에 대해 소개하겠다. public class Main { public static void main(String[] args) { 칼 a무기1 = new 칼(); 활 a무기2 = new 활(); 총 a무기3 = new 총(); // 모든 무기 작동(); a무기1.작동(); a무기2.작동(); a무기3.작동(); } } abstract class 무기 { abstract void 작동(); } class 칼 extends 무기 { void 작동() { System.out.println("칼 작동"); } } class 활 extends 무기 { void 작동() { System.out.println("활 작동"); } } class 총 ex..
[생성자 문제] 다음은 생성자와 관련된 문제를 풀어보고 비교해봅시다. 문제의 목적은 다음과 같습니다. 각각의 사람이 배달음식을 주문할 때, 각자의 상황과 기호에 따라 적절한 음식점과 음식이 배달되도록 코드를 작성하는 것이다. 우리는 해당 문제를 두 가지 버전으로 나눠서 풀어보려 합니다. 첫번째 코드는 main 메서드에서 일일이 속성 값들을 저장하여 원하는 출력문을 출력하는 코드이고, 두번째 코드는 생성자를 통해 값을 최초에 세팅하고 원하는 출력문을 출력하는 코드이다. 두 코드를 잘 비교하면서 더 편리한 방법이 어떤 것인지 느껴봅시다. [첫번째 코드] public class Main { public static void main(String[] args) { 사람 a김철수 = new 사람(); a김철수.이..
[캐스팅] Java에서는 형변환을 캐스팅이라고 한다. 여기서 말하는 형변환이란 말그래도 형태를 변환한다는 뜻이다. 예를 들어 정수형 타입인 int와 실수형 타입인 double이 있다면 서로의 타입으로 형태를 변환하는 것이 캐스팅이라고 한다. int i = 10; double d = i; i = (int)d; System.out.println(i); 위 코드를 보면 변수 i는 정수 타입으로 선언되었고 10이라는 값을 넣었다. 변수 d는 실수 타입으로 선언되었고 i가 가지고 있는 10이라는 값을 넣었다. 여기서 먼저 d를 출력문을 통해 출력해보면 10이 아닌 실수 타입에 맞춰 10.0이 출력될 것이다. 이 때 i가 가지고 있는 정수 10은 자동으로 형변환 즉, 캐스팅이 된 것이다. 이번에는 반대로 정수인 1..
[scanf] 출력문을 사용하는 문법을 printf 라고 하면 키보드 입력을 위한 문법은 scanf이다. C언어는 기본적으로 #include 라는 헤더파일을 포함하고 이 때 stdio.h는 표준 입출력을 의미한다. 아래는 scanf의 가장 기본적인 구조이다. #pragma warning(disable: 4996) #include int main() { int input; printf("정수를 입력해주세요. : "); scanf("%d", &input); printf("입력하신 수는 %d 입니다.\n", input); return 0; } 사용자가 키보드로 입력한 정수를 input에 넣어주는 일을 해주는 scanf는 일종의 외부 대행업체라고 생각할 수 있다. scanf는 입력받은 값을 어디에 넣어줄 지 사..