API day-1
2021. 12. 14. 18:44
lecture
API 는 라이브러리(library) 라고 부르기도 하느데 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말한다. java.lang 패키지에 있는 클래스와 인터페이스는 import구문 없이 사용할수있습니다. java.util 패키지는 자바 프로그램 개발에 조미료 같은 역할을 하는 클래스를 담고있다. object 클래스 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 묵시적으로 object 클래스를 상속하게 됩니다. 따라서 모든 자바의 클래스는 object 클래스의 자식이거나 자손 클래스입니다. - 모든 클래스가 object를 상속하기 때문에 object의 메서드는 모든 클래스에서 사용이 가능합니다. System 클래스 이용하면 운영체제의 일부 기능을 이용할수 있습니..
예외 처리 방법 1(예외 떠넘기기)
2021. 12. 14. 18:27
lecture
throws -try ~ catch 구문이 예외가 발생했을 때 직접 해결을 하고자 하는 코드라면 throws는 메소드나 생성자를 호출한 곳으로 예외를 떠넘기는 코드입니다. - 즉 예외처리를 직접 수행하지 않고 메서드 호출자에게 예외를 던지는 방법입니다. -throws 키워드가 붙어있는 메서드는 반드시 try 블록내부에서 호출되어야 합니다. 그리고 catch블록에서 떠넘겨 받은 예외를 처리해야 합니다. -main 도 throws를 사용할수 있습니다.
예외 처리 코드(try-catch-finally)
2021. 12. 14. 18:23
lecture
예외 처리 코드 란? 프로그램에서 예외가 발생했을 경우 프로그램의 갑작스러운 종료를 막고, 정상 실행을 유지할 수 있도록 처리하는 코드를 예외처리코드라고 한다. 예외 처리 코드는 try-catch-fially 블록을 이용한다. 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외처리 할수 있도록 해준다. try-catch-finally 블록 작성방법은 다음과 같다. - try 블록에는 예외 발생 가능성이 있는 코드를 작성합니다. try 블록의 코드가 예외 발생 없이 정상 실 행되면 catch 블록은 실행되지 않습니다. -try 내부에서 예외가 발생하면 즉시 실행을 멈추고 catch 블록으로 이동하여 예외 처리 코드를 실행합 니다. 예외 발생 여부와 상관없이 항상 실행할 내용이..
예외 처리
2021. 12. 14. 18:11
lecture
예외와 예외 클래스 자바에서는 에러 이외에 예외(Exception)라고 부르는 오류가 있다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램오류를 말한다. 예외는 두가지 종류가 있다. 일반 예외(Exception) - 컴파일러 체크예외라고도 하는데, 자바소스를 컴파일하는 과정에서 예외처리 코드가 필요한지 검사하기 때문이다. 실행 예외(Runtime Exception) - 실행 예외는 컴파일하는 과정에서 예외처리 코드를 검사하지 않는 예외를 말한다. 모든 예외 클래스들은 다음과같이 java.lang.Exception 클래스를 상속받는다. (이 사이트에 예외 클래스의 관한 정보들이 있습니다.) https://www.tutorialspoint.com/java/lang/java..
다중 catch(둘 이상의 예외 처리)
2021. 12. 14. 17:26
lecture
try 블록 내부는 다양한 종류의 예외가 발생할 수 있다. 이 경우, 발생되는 예외 별로 예외처리 코드를 다르게 하려면 어떻게 하면 될까? 해답은 다중catch 블록을 작성하는 것이다. 주의할 점 상위 예외 클래스가 하위 예외 클래스보다 아래쪽에 위치해야 합니다 interger.parseint() : 뒤에나 반환 값이다.(오버 로딩) 매개변수랑 반환 유형만 잘 활용하면 쓸 수 있다. String data1 스트링 배열에서 넘버 배열로 바꾸고 캐치 영역에는 넘버 안 적으면 오류 나니깐 이거 예외 처리해야 함 예) 10 a 10은 문자열 a 도 문자열 10은 숫자로 가능 a는 변경이 불가 그래서 오류가 나오고 그 오류를 해결하려면 (numberFormatException e) 이걸로 해야 함. Excepti..
Abstract
2021. 12. 10. 18:28
lecture
추상메서드 키워드에서는 클래스와 메서드에 적용됩니다. 실체 클래스들의 메서드 이름들을 통일할 목적(즉 오버라이딩 강제화라고도 한다)으로 사용합니다. 추상메서드가 있는 클래스는 반드시 추상 클래스여야 합니다. 그러나 추상 클래스에 반드시 추상메서드만 선언할 필요는 없고 일반 메서드도 선언할 수있습니다. 각각의 특징을 가지고 있는 자식과 특징이 없는 부모. 부모의 특징과 자식이 틍징이 공통적으로 들어가있습니다. 추상 클래스 추상 클래스는 new키워드로 객체를 사용하지 못하고 오직 상속을 통해서 자식 클래스로 구체화 시켜야 합니다. 추상 클래스도 일반 클래스와 마찬가지로 멤버변수, 생성자, 메소드를 선언할수 있습니다. new 키워드는 호출 불가지만 super()호출하여 추상클래스 객체를 생성하므로 추상클래스도..
Final
2021. 12. 10. 18:09
lecture
금지의 규제(abstract 와 반대가 될수 있는것) 쓰는 이유는 같이 사용하고 싶지않고 바꾸는것에 대한 금지를 설정하는 키워드이다. 클래스에 final 붙으면 상속이 불가능하고 메소드에서 final을 붙으면 오버라이딩이 불가능하다. 변수 또한 변경이 불가능하다 final 또한 접근제어자리 다음에 사용을 합니다. String class 가 대표적 final 클라스 이빈다. final 변수 한번 값을 할당하면 그값을 변경할수 없습니다. final 필드는 직접 초기화 또는 ㅡ생성자로 초기화 해야한다. 초기화 설정의 2가지 방법 직접 입력 ex) public final string name = "//"; 생성자 줘서 초기화 하면 여러가지를 줄수 있슴. thisname=name final 키워드로 상수 사용 s..
Static
2021. 12. 10. 17:49
lecture
static - keyword 자바에서 엄청 중용한 언어입니다.~ static 이란 - 변수와 메서드에 적용되는 키워드 입니다. 객체가 없어도 참조 가능하다. static 제한자는 지정된 변수와 메서드를 객체와 무관하게 만들어주기 때문에 this를 가질수 없습니다. static메서드는 non static 메서드로 재정의(overriding) 될수 없습니다. 대표적인 static메서드는 애플리케이션 main()메서드 입니다. 정적변수 - 클래스들과 공유하는 변수이다. 2번째 특징 클래스 밖에 1개 객체 생성없이 클래스 이름 변수명으로 바로 접근 가능하다. 변수에 붙는 경우 1)공유변수 2)클래스 이름만으로 참조 ex) 다른 두개의 계산기에도 같은값을 얻을수있다.(PI값) "static 하나로 완전히 다른 ..
다형성
2021. 12. 9. 17:53
lecture
다형성(Polymorphism) 영어가 참 어렵죠?? 쓰윽 읽고 넘어갑시다. ㅎㅎ 다형성이란 " 객체가 여러 형태를 가진다" 라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다. -다형성은 상속을 전제조건으로 합니다. -다형성을 위해 자바는 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용합니다. 즉, 부모 타입에 모든 자식객체가 대입될 수 있습니다. 부모클래스 변수 = new 자식클래스() 이때 부모클래스에 있는 기능만 사용할 수 있지만, 오버라이딩 된 메서드는 먼저 실행됩니다. 왜쓸까요?? 부모하나에 자식들을 다 담을수있는 편리성때문에~ 그렇다고 합니다. 오브젝트~ 제일 최상위 개층에 있습니다.. 여기 안에는 모든지 다 넣을수 있습니다. 이종 모음도 다형성의 원리이다...
클래스 상속
2021. 12. 8. 19:06
lecture
프로그램에서는 자식이 부모를 선택한다.! 자식 클래스를 선언할때 어떤부모 클래스를 상속받을 것인지를 결정하고 선택된 부모 클래스는 다음과 같이 extends 뒤에 기술한다. Class 자식 클래스 extends 부모 클래스 { //필드 //생성자 //메소드 } 예를 들어 Car 클래스를 상속해서 SportsCar 클래스를 설꼐하고 싶다면 다음과 같이 작성하면 된다. class SportsCar extends Car{ } 다른 언어와는 달리 자바는 다중 상속을 허용하지 않는다. 즉 부모클래스가 무조건 하나만 와야한다. 부모 생성자 호출 현실에서 부모 없는 자식이 있을 수 있듯이 자바에서도 자식 객체를 생성하면, 부모 객체가 먼저 생성되고 자식개체가 그다음에 생성된다. 부모클래스 생성 - 자식 클래스 생성 ..