package basic;
import java.util.Scanner;
public class LogicControl {
public static void main(String[] args) {
//-----------------------------------------
Scanner scan = new Scanner(System.in);
System.out.println("첫번째 정수 입력: ");
int num1 = scan.nextInt();
System.out.println("두번째 정수 입력: ");
int num2 = scan.nextInt();
//-----------------------------------------
int result = 0;
result = num1 + num2;
System.out.println("덧셈결과: " + result);
}
}
package basic;
import java.util.Scanner;
public class LogicControl {
public static void main(String[] args) {
//-----------------------------------------
Scanner scan = new Scanner(System.in);
System.out.println("첫번째 정수 입력: ");
int num1 = scan.nextInt();
if (num1 < 0) {
num1 = 0;
}
System.out.println("두번째 정수 입력: ");
int num2 = scan.nextInt();
if (num2 < 0) {
num2 = 0;
}
//-----------------------------------------
int result = 0;
result = num1 + num2;
System.out.println("덧셈결과: " + result);
}
}
package basic;
import java.util.Scanner;
public class LogicControl2 {
public static void main(String[] args) {
int[] num = new int[2]; // 배열의 크기: 2
//-----------------------------------------
Scanner scan = new Scanner(System.in);
for (int i=0; i<2; i++) {
System.out.println(i+"번째 양의 정수 입력: ");
num[i] = scan.nextInt();
if (num[i] < 0) {
num[i] = 0;
}
}
//-----------------------------------------
int result = 0;
for (int i=0; i<2; i++) {
result += num[i];
}
System.out.println("덧셈결과: " + result);
System.out.println("프로그램 종료");
}
}
package basic;
import java.util.Scanner;
public class LogicControl2 {
public static void main(String[] args) {
int[] num = new int[2]; // 배열의 크기: 2
int result = 0;
//-----------------------------------------
Scanner scan = new Scanner(System.in);
for (int i=0; i<2; i++) {
System.out.println(i+"번째 양의 정수 입력: ");
num[i] = scan.nextInt();
if (num[i] < 0) {
num[i] = 0;
}
result += num[i];
}
//-----------------------------------------
System.out.println("덧셈결과: " + result);
System.out.println("프로그램 종료");
}
}
package basic;
public class LogicControl3 {
public static void main(String[] args) {
int result = 0;
//-----------------------------------------
for (int i=0; i<=20; i++) {
if (i%2 == 0 || i%3 == 0) {
continue;
}
result += i;
}
//-----------------------------------------
System.out.println("덧셈결과: " + result);
System.out.println("프로그램 종료");
}
}
package basic;
import java.util.Scanner;
public class LogicControl4 {
public static void main(String[] args) {
int result = 0;
//-----------------------------------------
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
boolean isPrime = true;
if (num < 2) {
isPrime = false;
}
else {
for (int i=2; i<Math.sqrt(num); i++) {
if (num%i == 0) { // 나누어지면 소수가 아님
isPrime = false;
break;
}
}
}
if (isPrime) {
System.out.println("소수");
}
else {
System.out.println("소수가 아님");
}
}
}
관리대상들: 객체 (Object)
객체는 '집'으로 비유할 수 있습니다. 집은 여러 가지 요소들(창문, 문, 벽 등)과 기능(사람을 보호하고, 사생활을 유지하는 등)을 가지고 있습니다. 프로그래밍에서 객체도 이와 같이 여러 속성과 기능을 가집니다.
개체(앤티티): 관리해야될 공통 속성(특성) + 메소드 선택 정의
개체 또는 앤티티는 '특정한 집'을 의미합니다. 예를 들어, 빨간색 지붕이 있는 두 층짜리 집이라고 할 수 있습니다. 이 집의 특성(빨간색 지붕, 두 층)과 기능(난방, 냉방)은 프로그래밍에서 개체의 속성과 메소드에 해당합니다.
선체(자바클래스): 캡슐화(속성보호 비노출 대신에 메소드 노출)
클래스는 '집의 설계도'로 생각할 수 있습니다. 설계도는 집이 어떻게 생겼는지, 어떤 기능을 가지고 있는지를 정의합니다. 캡슐화는 이 설계도의 일부 세부사항을 숨기는 것과 같습니다. 예를 들어, 전기 배선이나 배관 시스템은 일반 사람들이 알 필요 없는 정보이므로, 설계도에서 이 부분을 숨길 수 있습니다. 대신, 전등 스위치나 수도꼭지와 같은 사용자 인터페이스는 노출됩니다.
실체(자바인스턴스): 자신의 고유한 속성 실값을 저장. 외부 객체는 실체(자바인스턴스)들을 생성해서 노출된 메소드를 사용(객체명.속성명). 단, 외부 객체가 메인클래스인 경우 자신의 인스턴스를 비생성.
인스턴스는 '실제로 지어진 집'으로 비유할 수 있습니다. 설계도를 바탕으로 실제로 지어진 집은 그 설계도의 속성과 기능을 구현한 것입니다. 이 집에서 사람들은 설계도에서 정의된 기능(전등 켜기, 난방 조절 등)을 실제로 사용할 수 있습니다.
package oop;
class Person {
public int age;
public long height;
public float weight;
}
public class PersonTestMain {
public static void main(String[] args) {
Person brother = new Person();
brother.age = 100;
brother.height = 170L;
brother.weight = 67.0F;
System.out.println("age : " + brother.age);
System.out.println("height : " + brother.height);
System.out.println("weight : " + brother.weight);
}
}
M(모델: 데이터객체) - C(컨트롤러) - V(뷰: 화면객체, 모델접근)
package oop;
class Student {
// 멤버 변수 선언
private int kor; // 국어점수
private int eng; // 영어점수
private int math; // 수학점수
// 생성자
public Student(int kor, int eng, int math) {
this.kor = kor;
this.eng = eng;
this.math = math;
}
// 총점을 반환하는 메서드
public int getTotal() {
return kor + eng + math;
}
// 평균을 반환하는 메서드
public double getAverage() {
return getTotal() / 3.0;
}
}
public class StudentTestMain {
public static void main(String[] args) {
// Student 객체 생성
Student student = new Student(90, 80, 70);
// 총점과 평균을 계산하여 출력
System.out.println("총점: " + student.getTotal());
System.out.println("평균: " + student.getAverage());
}
}
package oop;
public class StudentTestMain {
public static void main(String[] args) {
// Student 객체 생성
Student student = new Student("홍길동", 1, 100, 60, 76);
System.out.println(student.info());
}
}
package oop;
public class Student {
// 멤버 변수 선언
private String name;
private int num;
private int kor; // 국어점수
private int eng; // 영어점수
private int math; // 수학점수
// 생성자
public Student(String name, int num, int kor, int eng, int math) {
this.name = name;
this.num = num;
this.kor = kor;
this.eng = eng;
this.math = math;
}
// 총점을 반환하는 메서드
public int getTotal() {
return kor + eng + math;
}
// 평균을 반환하는 메서드
public double getAverage() {
return getTotal() / 3.0;
}
// 정보를 반환하는 메서드
public String info() {
return num + "," + getAverage();
}
}
공부 열심히 하시네요 ! !