본문 바로가기

Java/StudyNote

(10)
JAVA_08 #콘솔 입출력 #파일 입출력 콘솔(Console) - 콘솔은 사용자의 입력을 받거나 사용자에게 문자열을 출력해주는 역할을 통칭하는 말 - 환경에 따라 바뀔 수 있다는 의미 콘솔 입력 System.in - 입력한 문자열을 얻기 위해 사용 InputStream - InputStream의 read 메소드는 입력을 받아들이고 1byte만 읽는다. 예) import java.io.IOException; import java.io.InputStream; public class Sample_06 { public static void main(String[] args) throws IOException { InputStream in = System.in; // InputStream 은 자바의 내장 클래스, System.in은 InputStream..
JAVA_07-3 #객체지향 프로그래밍 #다형성 #추상클래스 다형성(Polymorphism) 객체지향 프로그래밍의 특징 하나의 객체가 여러개의 자료형 타입을 가질 수 있는 것 다형성을 이용하면 복잡한 형태의 분기문을 간단하게 처리할 수 있는 경우가 많다. interface Predator{ String getFood(); default void printFood(){ System.out.printf("my food is %s\n", getFood()); } // 인터페이스 상수 int LEG_COUNT = 4; // 인터페이스 스테틱 메서드 static int speed(){ return LEG_COUNT * 30; } } // 인터페이스 Barkable interface Barkable{ void bark(); } class Animal_0507{ String ..
JAVA #07-2 객체지향 프로그래밍 #생성자 #인터페이스 생성자 메소드명이 클래스명과 동일하고 리턴 자료형을 정의하지 않는 메소드를 생성자(Constructor) 라고 한다. 생성자를 사용하면 객체 생성시에 필수적인 행동을 제어할 수 있다. 생성자의 규칙 1. 클래스명과 메소드명이 동일하다. 2. 리턴 타입을 정의하지 앟는다. (void도 사용하지 않는다.) // 클래스는 Dog0505를 상속받는다. class HouseDog extends Dog0505{ // 부모 클래스의 sleep 메소드를 자식 클래스가 동일한 형태로 구현하면 자식 클래스가 더 높은 우선순위를 갖게 된다. // 이를 메소드 오버라이딩 이라고 부른다. void sleep() { System.out.println(this.name + " zzz in house"); } // 생성자(Const..
JAVA_07-1 #객체지향 프로그래밍 #클래스 #메소드 #상속 객체지향 프로그래밍이란? 프로그램 설계 방법론의 일종으로, 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 봐야 한다. https://namu.wiki/w/%EA%B0%9D%EC%B2%B4%20%EC%A7%80%ED%96%A5%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D 클래스 1. 객체 생성 - new : 객체를 생성할 때 사용하는 키워드 class Animal{ } public class Sample_3039 { public static void main(String[] arg..
JAVA _06 #제어문 if 문 - 조건을 판단해서 그 상황에 맞는 상황을 수행하는 데 쓰임 1. 기본 구조 if (조건문) { ; ; ... } else { ; ; ... } - 조건문을 테스트해서 참이면 if문에 속한 문장 1, 2를 수행하고, 조건문이 거짓이면 else문데 속한 문장 A, B를 수행 2. 조건판단에 사용되는 비교연산자 비교연산자 설명 x y x가 y보다 크다 x == y x와 y가 같다 x != y x와 y가 같지 않다 x >= y x가 y보다 크거나 같다 x = 3000 이란 조건문이 거짓이기 때문에 "걸어가라" 가 출력된다. public static void main(String[] args) { int money = 2000; if (money >= 3000) { Sy..
JAVA_05 #자료형 숫자 (Number) 1. 정수 자료형 표현범위 int -2147483648 ~ 2147483647 long -9223372036854775808 ~ 9223372036854775807 사용 예 int age = 10; long countOfStar = 8764827384923849L; - long 변수에 대입하는 숫자 값이 int 자료형 최대값인 2147483647보다 클 경우는 마지막에 L 접미사를 붙여야 한다. 2. 실수 자료형 표현범위 float -3.4 * 10^{38} ~ 3.4 * 10^{38} double -1.7 * 10^{308} ~ 1.7 * 10^{308} 사용 예 float pi = 3.14F; double morePi = 3.14159265358979323846; double d..
JAVA_04 #변수 #자료형 int a; String b; 위의 a, b 를 변수(variable)라고 한다. 변수 명 변수 명명 규칙 - 변수명은 숫자로 시작할 수 없다. - "_" dhk "$" 문자 이외의 특수문자는 사용할 수 없다. - 자바의 키워드는 변수명으로 사용할 수 없다. ( int, class, return등 ) 자료형 (Type) - 변수명 앞의 int, String 등은 변수의 자료형을 의미 - int a; 는 a라는 변수에는 int 자료형 값(정수)만 담을 수 있다. - String b; 는 b라는 변수에는 String 자료형 값(문자열)만 담을 수 있다. 자주 쓰이는 자료형 int 정수 자료형, 표현 범위 (-2147483648 ~ 2147483647) long 정수 자료형, 표현 범위 (-9223372036..
JAVA_03 #자바 소스코드 구조 1. 자바 소스코드의 구조 클래스명.java /* 클래스 블록 */ public class 클래스명 { /* 메소드 블록 */ [public|private|protected] [static] (리턴자료형|void) 메소드명1(입력자료형 입력변수, ...) { 명령문(statement); ... } /* 메소드 블록 */ [public|private|protected] [static] (리턴자료형|void) 메소드명2(입력자료형 입력변수, ...) { 명령문(statement); ... } ... } 클래스 블록 - 소스코드의 가장 바깥쪽 영역. 클래스명은 소스파일의 이름(클래스명.java)과 동일하게 사용해야 함 - 클래스 블록은 메소드 블록을 포함 메소드 블록 - public, private, prot..

반응형