package sec06;

/**
 * 콘솔에 안녕 메시지를 출력하는 자바 프로그램
 * 
 * @author USER
 *
 */

public class Hello {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /*
         * 메인 메소드 내부
         */
        System.out.println("안녕!"); // 화면에 문자 출력
        System.out.println("안녕" + "!");

        String hello = "안녕!";
        System.out.println(hello);

    }

}

안녕하세요.

오랜만입니다.

이번에 객체지향 프로그래밍을 공부하면서 공부한 것을 간단하게 나마 정리해보려고 합니다 .

수업 끝나고 제출한 코드를 올리고 그 해석을 올리는 정도 이겠지만, 올리고 복습하는 것에 그 의의가 있다고 생각합니다.

객체지향 언어?

OOP라고도 하며, Object Oriented Programming 의 준말이다.

클래스를 만들고 그 클래스의 객체를 만들고, 메소드를 이용해 어떤 조작을 하는거!

자바는 그럼 객체지향 언어라고?

객체의 속성을 계속 지목해서 만들어 주잖아

String hello = "안녕!";

이런식으로.

String 은 문자열, hello는 변수 이름, "안녕!"은 변수 값이다.

package sec06;

public class Practice2_1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int mach = 340, distance;
        distance = mach * 60 * 60;

        System.out.println("소리가 1시간 동안 가는 거리 : " + distance + "m");

        double radius, area;
        radius = 10.0;
        area = radius * radius * 3.14;
        System.out.println("반지름이 " + radius + "인 원의 넓이 : " + area);
    }

}

int 정수타입이다. 그러므로 정수값을 넣어줘야 댐!

double 실수 타입이다

변수

int weight; // 변수 선언 ( weight는 int타입이다! )
weight = 50; // 변수 초기화 ( weight 는 ~~ 이다)

int weight, height // 두개의 변수를 한번에 선언할 수 있음
int weight = 50; // 동시에 선언 및 초기화도 가능함

상수

프로그램 실행 중 변경할 수 없는 데이터를 담는 변수
상수이름은 항상 '대문자' 로 표기
반드시 final 키워드로 지정

final double PI; // 상수 선언
PI = 3.14159; // 상수 초기화

final double PI = 3.14159; // 동시에 선언 및 초기화 

타입 변환

타입은 넓은 방향으로 자동으로 변환가능함

public static void main(String[] args) {
    int i;
    double d;

    i = 7 / 4;
    System.out.println(i); // 실행결과 : 1
    d = 7 / 4;
    System.out.println(d); // 실행결과 : 1.0
    d = 7 / (double) 4;
    System.out.println(d); // 실행결과 : 1.75
}

첫번째거는 i 가 정수니까 7(정수) /4(정수) 한거를 정수로 표현 => 1

두번째 d 는 double 인데, 7(정수) / 4(정수) 하면 1임! 얘를 실수로 만드니까 => 1.0

세번째 d는 double이고 7(정수) / 4(double) 하면 자동 타입변환이 되어서
7(double) / 4(double) = 1.75인데 얘를 d가 표현할 수 있으니 d = 1.75

기본 입출력

printf() : 포맷을 지정해줄 때
print() : 그냥 프린트함 ( 줄 안바꿈 )
println() : 프린트하고 줄 바꿈

package sec04;

impoort java.util.Scanner; // 프로그램의 첫 행에 다음을 추가해 Scanner 클래스의 경로 이름을 컴파일러에 알린다. 

public class ScannerDemo {

    public static void main(String[] args) {
    Scanner in = new Scanner(System.in); // 키보드로 데이터를 입력 받기 위해 System.in 객체와 연결된 Scanner 객체를 생성한다. 
    int x = in.nextInt(); // 정수를 읽어 변수 x에 대입한다.
    int y = in.nextInt();
    System.out.printf("%d * %d 은 %d입니다 \n", x ,y, x*y);
    }

}

실습 2-2, 2-3

package sec06;

import java.util.Scanner;

public class Practice2_2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        System.out.print("정수를 입력하세요 : ");
        int x = in.nextInt();
        int y = x * x;
        System.out.println(x + "의 제곱은 " + y);
    }
}

import java.util.Scanner;

public class Practice2_3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        System.out.print("원기둥의 밑면의 반지름은? ");
        Double radius = in.nextDouble();
        System.out.print("원기둥의 높이는? ");
        Double height = in.nextDouble();
        Double volume = radius * radius * 3.14 * height;

        System.out.println("원기둥의 부피는 " + volume);
    }
}

감사합니다.

'TIL > [객체지향 프로그래밍] TIL' 카테고리의 다른 글

TIL (22.04.06)  (0) 2022.04.06
TIL (22.04.01)  (0) 2022.04.01
TIL (22.03.23)  (0) 2022.03.23
TIL (22.03.18)  (0) 2022.03.18
TIL (22.03.16)  (0) 2022.03.16