Java,Spring 7

[자바 기초 문법] 입출력 처리

입출력 스트림 스트림이란? - 순서가 있는 데이터의 연속적 흐름이다. - 데이터 소스와 상관없이 적용할 수 있어 효과적이다. - 예시) 키보드 및 모니터 입출력, 프로그램과 외부 장치, 파일의 입출력에서 데이터 흐름도 스트림, 네트워크와 통신하는 데이터의 흐름 특징 선입선출 구조라서 순차적으로 흘러가고 순차적으로 접근한다. 임의 접근 파일 스트림을 제외한 모든 스트림은 단방향이다. 입출력 스트림은 객체이다. 출력 스트림과 입력 스트림을 연결해 파이프라인 구성이 가능하다. 지연이 가능하다. (프로그램에 연결한 출력 스트림에 데이터가 가득 차면 프로그램을 더 이상 출력할 수가 없어 빈 공간이 생길때까지 지연된다! 입력 스트림도 마찬가지) 바이트 스트림과 문자 스트림 입출력 스트림의 사용 바이트 스트림 바이트..

Java,Spring 2021.05.26

[자바 기초 문법] 예외처리

예외 예외의 종류: 일반예외와 실행예외 실행예외 예외가 발생하면 JVM은 해당하는 실행 예외 객체를 생성한다. 실행 예외는 컴파일러가 예외 처리 여부를 확인하지 않는다. 대표적인 실행예외 ArithmeticException IndexOutOfBoundsException NoSuchElementException IllegalArgumentException NullPointerException NumberFormatException 일반예외 컴파일러는 발생할 가능성을 발견하면 컴파일 오류를 발생한다. 대표적인 일반예외 ClassNotFoundException InterruptedException NoSuchFieldException NoSuchMethodException IOException 예외 처리 방법..

Java,Spring 2021.05.26

[자바 기초 문법] 인터페이스와 특수 클래스

추상 클래스 하나 이상의 추상 메서드를 포함하지만 없을 수도 있다. 주로 상속 계층에서 자식 멤버의 이름을 통일하기 위해서 사용한다. 추상 클래스는 인스턴스를 생성하지 못한다. 추상 클래스 s = new 추상클래스(); // (XX) 추상 클래스 선언 abstract class 클래스이름{ //필드 //생성자 //메서드 --> 일반적으로 하나 이상의 추상 메서드 포함함. } 추상 메서드 선언 abstract 반환타입 메서드 이름(); //메서드 본체가 없다. 인터페이스 장점 통합에 신경쓰지 않고 다양한 형태로 새로운 클래스 개발 가능하다. 인터페이스로 다중 상속 효과를 간접적으로 얻을 수 있다. 예 대표적 인터페이스에는 java.lang 패키지의 ClearSequence, Comparable, Runna..

Java,Spring 2021.05.26

[자바 기초 문법] 상속의 이해와 다형성

상속이란? 상속과 클래스 멤버 자식 클래스는 부모 클래스에서 물려받은 멤버를 그대로 사용 혹은 변경 가능하고, 새로운 멤버도 추가가 가능하다. 자식 클래스는 대체로 부모 클래스보다 속성이나 동작이 더 많다. 부모-자식 클래스의 관계는 is-a 관계이다! 원은 도형이다. 사과는 과일이다. has-a 관계는 상속은 아니다! 상속의 선언 extends 키워드 사용한다. 다중 상속은 안된다! 하나의 부모클래스만 가능하다. 현실 세계와 상속 적용 객체 지향의 상속을 적용할 수 있는 현실 세계의 예 부모 클래스 자식 클래스 Animal Eagle,Tiger, Goldfish Bike MountainBike, RoadBike, TandemBike Circle Ball, Cone, Juice, Wine Drinks B..

Java,Spring 2021.05.24

[자바 기초 문법] 문자열과 배열

문자열의 선언과 생성 String 변수; // String 타입의 변수 선언 변수 = "문자열"; // String 타입의 변수에 문자열 대입 String s1 = "안녕, 자바"; //String 타입의 변수 선언과 초기화 String s2 = "안녕, 자바"; //String 타입의 변수 선언과 초기화 문자열과 리터럴은 내부적으로 new String()을 호출해 생성한 객체이다. s1은 new String("안녕, 자바!")를 호출해 생성한 객체를 가리킨다. 내용이 같은 문자열 리터럴이라면 더 이상 새로운 String 객체를 생성하지 않은 채 기존 리터럴을 공유한다. 따라서 s1과 s2는 동일한 String 객체를 가리킨다. 문자열의 비교 public class String2Demo{ public s..

Java,Spring 2021.05.13

[자바 기초 문법] 객체 지향

객체지향 기초 객체(object)의 개념 소프트웨어 객체는 현실 세계의 객체를 필드(상태)와 메서드(동작)로 모델링한 것이다. 소프트웨어 객체는 상태를 필드로 정의하고, 동작을 메서드로 정의한다. 필드는 객체 내부에 선언된 변수를 의미하고, 메서드는 객체 내부에 정의된 동작이다. 클래스와 객체는 보통 붕어빵 틀과 붕어빵으로 이해하면 쉽다! 인스턴스 = 붕어빵의 실체라고 생각하면된다. 객체 지향 프로그래밍의 특징 캡슐화(정보 은닉): 관련된 필드와 메서드를 하나의 캡슐처럼 포장해 세부 내용을 외부에서 알 수 없도록 감추는 것이다. 상속: 자녀가 부모 재산을 상속받아 사용하듯 상위 객체를 상속받은 하위 객체가 상위 객체의 메서드와 필드를 사용하는 것이다. 상속은 개발된 객체를 재사용하는 방법 중 하나다. 다..

Java,Spring 2021.05.13

[자바 기초 문법] 제어문과 메서드

제어문이란? 실행문의 수행 순서를 변경해 프로그램의 실행 흐름을 바꾸는데 활용한다. 제어문의 종류 조건문: 조건에 따라 실행문을 선택할 때 사용. if, if-else, 다중 if문, switch-case... 반복문 분기문 중첩 if 문: if-else문과 혼합하여 사용할 시 혼동을 피하기 위해 중괄호로 명확하게 구분한다! 다중 if문과 중첩 if문 예시 다중 if문 package sec02; import java.util.Scanner; public class MultiIfDemo{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String grade; System.out.print("점수를 입력하세요: ");..

Java,Spring 2021.05.13