전체 글 176

증감 연산자

if, for, while문과 같은 반복문에 많이 사용되며 피연산자로서 정수형과 실수형 모두 사용할 수 있으나 주로 정수형 변수에 사용된다. ++x : 증가 후 출력 --x : 감소 후 출력 x++ : 출력 후 증가 x-- : 출력 후 감소 public static void main(String[] args) { int a = 10, b = 10, x, y; a++; b++; System.out.println("a: " + a + ", b: " + b); x = --a; y = b--; System.out.println("a: " + a + ", b: " + b); System.out.println("x: " + x + ", y: " + y); } // 결과 값 a: 11, b: 11 a: 10, b: ..

Java 2022.05.03

연산자, Args, printIn/printf, 형 변환

연산자 public class test { public static void main(String[] args) { /* * String 문자열 타입을 int 정수 타입으로 변경하려면? * Integer.parseint("1") : 문자열 1 -> 정수 1 * Double.parseDouble("12.5"); 문자열 12.5 -> 실수 타입 12.5 * Float.parseFloat("5") : 문자열 5 -> 실수 타입 5 */ String su1 = "5"; String su2 = "3"; System.out.println("두 수 더하기: " + (su1 + su2)); /* * 문자열 su1, su2를 정수 타입으로 변환 후 계산하자 * wrapper class : 기본형과 클래스형간의 변환을 위..

Java 2022.05.01

Scanner 클래스

자바에서 입력 받을 때 가장 많이 쓰이는 게 Scanner 클래스다. 정수, 실수, 문자열을 읽어올 수 있다. Scanner 사용법 import java.util.Scanner; Scanner의 객체 생성 Scanner sc = new Scanner(System.in); // System.in : 입력한 값을 바이트 단위로 읽는다. import java.util.Scanner; public class test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name; int Math; System.out.print("이름?"); name = sc.next(); // nextLine() : 한 줄 다..

Java 2022.05.01

+2 변수 선언, 입출력

1. Scanner 사용 import java.util.Scanner; public class MainClass2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // System.in : 키보드 입력 값 읽어와라 System.out.print("국어 점수 입력: "); int kor = scan.nextInt(); System.out.print("영어 점수 입력: "); int eng = scan.nextInt(); System.out.println("수학 점수 입력: "); int math = scan.nextInt(); // 받아서 저장된 점수 출력 System.out.printf("%-5d%-5d%-..

수업 2022.04.29

패스트캠퍼스 객체 지향 핵심

객체 간의 상속은 어떤 의미일까? 클래스 상속 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속 받아서 속성이나 기능을 확장해 클래스를 구현한다. 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현할 때 기존 클래스를 상속한다. 상속하는 클래스: 상위 클래스, parent class, base class, super class 상속 받는 클래스: 하위 클래스, child class, derived class, subclass 상속 문법 class B extends A { } extends 키워드 뒤에는 단 하나의 클래스만 올 수 있다. 자바는 단일 상속 single inheritance 만을 지원한다. 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념과 기능을 가진다. ..

SET, GET 사용 이유와 예제

Getter와 Setter 메소드 사용 이유? 객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막기 때문에 외부에서 마음대로 읽고 변경할 경우 객체 무결성이 깨질 수 있기 때문에 메소드를 통해서 데이터를 변경하는 방법을 선호한다. private로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메소드를 public으로 제공한다. setter는 값 저장 유도하는 메소드 getter는 값을 return 받게 하는 메소드 // get, set 메소드 선언 public class Example { // 필드를 private로 선언해 외부로부터 보호하는 게 좋다. private int sum; // get 메소드 public int getSum() { return sum; ..

Java 2022.03.29

[예제] 객체 간 협력

출근 길 커피 사기 아침 출근 길에 A씨는 4000원을 내고 별 다방에서 아메리카노를 사마셨다. B씨는 콩 다방에서 4500원을 내고 라떼를 사 마셨다. 객체 지향 방법으로 구현해보자. // StarCoffee.java package cooperation; public class StarCoffee { // 1 public int price; public int income; // 2 public StarCoffee() {} // 3 public String sellStarCoffee(int price) { income += (price); if (price == 4000) { return "별 다방 아메리카노를 구입했습니다."; } else if (price == 4300) { return "별 다방 ..

Java 2022.03.23

StringBuffer

StringBuffer는 문자열을 추가하거나 변경할 때 사용하는 자료형이다. StringBuffer의 메소드들을 살펴보면서 StringBuffer의 사용법에 대해서 알아보자. append StringBuffer 객체를 생성하고 문자열을 생성하는 예제이다. StringBuffer sb = new StringBuffer(); sb.append("hello") sb.append(" "); sb.append("jump to java") String result = sb.toString(); System.out.println(result); // 결과 값 hello jump to java StringBuffer 자료형은 String 자료형보다 무거운 편에 속한다. new StringBuffer()로 객체를 생성하..

Java 2022.03.21

생성자 Constructor

무언가를 새로 생성하는 역할을 하는 것처럼 보이지만 실제로는 인스턴스가 생성될 때 가장 먼저 호출되는 함수다. // 기본적인 생성자 형태 public class ObjectExample(){ public ObjectExample(){ System.out.println("생성자 호출됨") } } 생성자를 작성하는 2가지 조건 생성자 이름은 클래스 이름과 같아야 한다. return 값이 없다. 생성자 특징 생성자도 오버로딩이 가능하기 때문에 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. 연산자 new가 인스턴스를 생성하지, 생성자가 인스턴스를 생성하는 것이 아니기 때문에 혼동하면 안된다. 1. 기본 생성자 만약 클래스에 생성자가 따로 정의되어 있지 않다면, 컴파일러는 자동적으로 생성자를 추가한다. 컴..

Java 2022.03.19