본문 바로가기
728x90
반응형

study_java/java_수강정리(~10.29)18

[JAVA]18일차 이때까지 우리가 배우면서 코드를 입력 했을 때, 잘못 코드를 짰거나 이상한 값을 입력한 경우 에러가 발생하면서 프로그램이 애초에 진행되지 않거나, 진행되다가도 잘못된 코드를 만나면 빨간 에러 문구가 출력되면서 프로그램이 종료되었다. 이처럼 자바 가상머신은 예외적인 상황을 처리할 때, 간단한 예외 정보를 출력하고 프로그램을 종료해버린다. 그런데 우리가 상용화된 어플을 쓸 때는 무언가를 잘못 입력할 경우 잘못 입력했다는 메시지만 떴지 어플은 종료되지 않는다. 왜 상용화된 어플은 값이 잘못 입력되었는데도 우리가 짜는 코드처럼 종료되지 않고 계속 실행을 유지했을까? 이것을 처리하는 것이 바로 오늘 배운 예외 처리이다. 0. 예외(Exception)와 오류(Error) 프로그램을 돌렸을 때 .. 2020. 6. 3.
[JAVA]17일차 어제 수업에 이어서, 인터페이스와 비슷한 추상클래스를 배웠다. 먼저 예제를 연습하다가 발견 한 것들 0. Exception in thread "main" java.lang.ArrayStoreException 배열과 맞지 않는 데이터를 저장하려고 하면 이 에러가 발생 ㅡ 예를 들어 자료형이 맞지 않거나, 상속하는 클래스가 아닌 다른 객체를 저장하려고 하면 이 오류가 뜬다. 0-1. public String toString() 자바의 조상격 클래스인 Object의 함수는 오버라이딩 할 때 접근제어자 범위를 축소할 수 없다. Object 객체에서 접근 제어자를 public으로 지정해줬기때문에 (전체 공개를 원칙으로 하기때문에) 바꾸는 것을 허용하지 않는다. 1. 추상클래스 추상클래스는 일.. 2020. 6. 2.
[JAVA]16일차 0. 다형성을 왜 이용하는가? 조상클래스를 상속하는 여러 자식 클래스들은 기존의 조상클래스를 확장한다. 다형성을 이용하면 기존의 조상 클래스를 기준으로 하위 클래스들의 인스턴스를 더 효율적으로 사용할 수 있다. 다형성이나, 상속, 인터페이스, ... 등등 객체를 지향하는 언어 답게 자바는 팀 단위 프로젝트를 더 쉽게 만들어준다. 표준을 강제하여 팀에게 공통된 작업을 수행하게 하거나, 수시로 변화되는 고객의 요구에 응할 수 있도록 기존의 코드를 뒤엎지 않아도 유지 보수될 수 있게 하기 위해 우리는 자바에서 상속에서 비롯되는 다형성 등을 이용하는 것이다. 1. 상속 하지 못하도록 하고 싶으면? final의 또다른 사용 다른 클래스가 특정 클래스를 상속하지 못하게 한다거나, 특정 메소드를.. 2020. 6. 1.
[JAVA]15일차(2) instanceof 연산자 ...........ㅠ 아직 헷갈린당 package example; class GrandParent{ } class Parent extends GrandParent{ } class Child extends Parent{ } public class Test01 { public static void main(String[] args) { GrandParent gp = new GrandParent(); Parent pt = new Parent();//부모형 참조변수는 자식객체 바로 참조 가능 Child ch = new Child();//자식형 참조변수는 부모객체 바로 참조 불가 //1. 조상클래스가 자신의 클래스를 참조하고 있는 경우. System.out.println("GrandP.. 2020. 5. 31.
[JAVA]15일차 15일차에는 상속과, 상속으로 사용할 수 있는 다형성과 오버라이딩까지 배웠다. 1. 상속 상속은 상위클래스의 멤버(변수, 함수들)를 하위클래스가 물려받아서 사용할 수 있도록 하는 것이다. 상속 여부는 extends 키워드로 표현해준다. 또한, 자바에서는 단일 상속만 할 수 있다. 한번에 한 클래스만 상속할 수 있다는 뜻이다. class Parent{ int age; public void Print(){ System.out.println("부모 클래스"); } } class Child extends Parent{ String name; public void ChildPrint(){ System.out.println("자식 클래스"); } } Child 클래스는 Parent 클래스를 상.. 2020. 5. 31.
[JAVA]14일차 1. 배열 배열 내용은 이전 게시글에 이어서 설명을 추가하고자 한다. 2020/05/27 - [JAVA/JAVA_수강정리] - [JAVA]13일차 [JAVA]13일차 1.Scanner Scanner 클래스는 생성자로 전달되는 대상으로부터 데이터를 추출하는 기능을 제공한다. Scanner 클래스에 정의된 생성자 중 일부로 Scanne(File Source)/Scanner(StringSource)/Scanne.. turing0809.tistory.com 1차원 배열에 대해서는 13일차 수업 게시글에서 확인할 수 있다. 배열은 '자료형이 같은 둘 이상의 값'을 저장할 수 있는 연속된 메모리 공간을 의미한다고 하였다. 이 공간은 2차원으로도 선언할 수 있다! 2차원 배.. 2020. 5. 31.
[JAVA]13일차 1.Scanner Scanner 클래스는 생성자로 전달되는 대상으로부터 데이터를 추출하는 기능을 제공한다. Scanner 클래스에 정의된 생성자 중 일부로 Scanne(File Source)/Scanner(StringSource)/Scanner(InputStream Source) 등이 있는데, 그 중에서도 Scanner(InputStream source) 생성자를 통해 키보드로부터 입력을 받을 수도 있다. Scanner sc = new Scanner(System.in); → inputStream 생성자 1-1. Scanner 클래스 주요 메소드 Scanner 생성자로 대상을 전달하면, Scanner 클래스에 정의된 함수를 이용해 데이터를 추출할 수 있다. 그 일부는 다음과 같다. i.. 2020. 5. 27.
[JAVA]12일차 1. 오버로딩 (Overloading) 자바는 사용자가 호출하는 메소드를 찾을 때 두가지 정보를 참조한다 : 메소드 이름과, 메소드 매개변수. 이 중에서도 메소드 매개변수의 형태를 가지고 다른 메소드를 정의하는 것이 가능한데, 이것이 메소드 오버로딩이다. 오버로딩은 같은 함수반환형과 같은 함수명 일때, 매개변수의 타입과 갯수를 달리하여 함수를 정의하는 것을 말한다. 우리가 사용하는 생성자 역시 오버로딩 예시 중 하나이다. class AAA{ void simple(int p1, int p2) { } void simple(int p1, double p2) { } } public class Lecture12 { public static void main(String[] args) { AA.. 2020. 5. 26.
[JAVA]11일차 class Circle { //인스턴스 변수 double radius = 0; //static 변수 final static double PI = 3.14; //인스턴스 함수 public Circle(double r) { radius = r; } //아래 double getArea(){} 앞에 static 붙이면 radius에 빨간줄(에러남) //--> static 함수 안에 인스턴스 변수/함수가 올 수 없는 이유는 무엇일까? double getArea() { double area = radius*radius*PI; return area; } } 1. static은 무엇인가? static 키워드가 붙은 변수를 클래스 변수라 한다. static에 대해 제대로 이해하기 위해서는 데이터 영.. 2020. 5. 25.
[JAVA]10일차 1.클래스 패스: 절대 경로와 상대경로 클래스 패스는 자바 가상머신이 .class 파일을 탐색할 폴더 경로를 말한다. 클래스 패스가 뭐라고 설정되어 있는지 확인하고 싶다면, 프롬프트 창에서 'set classpath'를 입력해 주면 된다. C:\JavaStudy>set classpath 프롬프트 창으로 클래스패스를 설정하면 프롬프트 창을 껐을 때 설정내용도 사라지므로, 아마 처음 시도해본다면 classpath 환경 변수가 정의되지 않았다고 뜰 것이다. 클래스 패스를 설정하려면 set classpath뒤에 '=폴더경로'를 작성해주면 된다. 그러면 해당 폴더 경로로 클래스 패스 경로가 설정된다. 클래스 파일을 어디서 찾을 지 경로를 설정해줄 때, 경로는 절대경로와 상대경로로 나뉜다. 절.. 2020. 5. 22.
728x90
반응형