java(23)
-
17일차 2023-03-30
1. Exception try~catch문 try ~catch문은 catch절을 여러 번 사용 가능 조건으로 자식 예외 클래스부터 catch해야됨 예로 => RuntimeException을 API로 보면 상위클래스 Object에서 하위클래스로 RuntimeException까지 볼 수 있다. 여기서 Exception을 catch절에서 맨 아래에 위치시키고 하위 클래스인 RuntimeException을 상단에 위치시켜야 한다. 만약 Exception보다 아래에 catch문이 있다면 그 catch문은 도달할 수 없다는 에러가 뜨게 되면서 위치를 수정시켜야 된다. Exception으로 에러를 다 잡을 수 있으나 메시지가 하나라 어떤 에러가 났는지 정확히는 모른다. Exception으로도 세분화된 메시지를 보내기..
2023.03.30 -
16일차 2023-03-29
1. Collection의 AddressBook.java private을 붙인 멤버 변수를 생성 한 명의 이름/나이 주소/생일 저장하는 address클래스 생성 Comparable 인터페이스 구현- 인자 한 개짜리 Collections.sort(List컬랙션) 사용 Collections.sort(리스트 한 개짜리)를 적용하려면 그 리스트 컬렉션에 저장된 객체는 반드시 Comparable 해야 된다. compareTo(Address target) 메소드를 오버라이딩할 때 오른 차순은 return부분에서 멤버변수name - 매개변수.name 이런식으로 앞에서 뒤에껄 빼면 디폴트인 오른차순 뒤의 target.name(매개변수)에서 앞(멤버변수 name)을 빼면 내림차순 두 가지 방법으로 구현 AddressBo..
2023.03.29 -
15일차 2023-03-28
1.Package 1-1) 패키지.*;의 *(asterik)은 모든을 의미 import java.util.*; 은 util패키지 안에 있는 클래스나 인터페이스를 다 읽음. 그래서 *은 되도록 안 쓰는 게 좋다 시간이 더 걸림 util 패키지 안의 하위 패키지는 포함 안된다. java.lang패키지 안의 클래스들은 기본 패키지로 import 안 해도 된다. 1-2) .jar파일로 묶기 두 가지 경우가 있다 첫 번째). 컴파일된 .class파일들을 . jar로 묶기 1) 일단 메인이 있는 클래스를 한번 실행=> 2) File-Export-java-Runnable Jar file선택 -Next 3) Launch Configuration:main메소드가 있는 클래스 선택 => Export Destination:..
2023.03.28 -
14일차 2023-03-27
1. 추상클래스 상속이 목적이다. class 앞에 abstract를 붙이면 추상클래스가 된다. 동일 API를 사용할 수 있다. 인스턴스화가 불가능 그래서 메모리가 할당하지 않음 2. 추상 메소드 추상메소드는 오버라이딩이 목적 메소드 앞에 abstract를 붙은 것 구현부{}가 없음 abstract메소드이면 그 메소드를 가진 클래스는 추상클래스여야 한다. 추상 클래스지만 추상 메소드가 없는 걸 상속받은 경우 꼭 오버라이딩 할 필요 없다. AbstractBasic.java package abstract17; /* [추상클래스-불완전한 설계도] 1]class 앞에 abstract(modifier)를 붙이면 그 클래스는 추상 클래스가 된다 2]어떤 클래스가 추상 메소드를 가지면 그 클래스를 반드시 추상 클래스로..
2023.03.27 -
13일차 2023-03-24 Java
1. 접근지정자 public, protect, default, private에 대한 범위 private은 클래스 안에서만 접근가능하고 다른 외부 하고는 차단됨 default는 같은 패키지에서 접근 가능 protect는 상속이 되어있는 클래스 간에는 접근이 가능 (다른 패키지에 있어도 가능) public은 import해서 접근이 다 가능 2. 오버라이딩(Overriding) 상속 시 적용되는 개념 즉 부모로부터 상속받은 메소드를 재정의 해서 사용. 틀은 바뀌지 않음. 오버라이딩된 메소드는 접근지정자가 부모와 같거나 부모보다 넓어야 된다 비슷한 단어로 오버로딩은 같은 메소드이름이지만 타입이나 매개변수 개수, 매개변수 자리순서에 따라 선언할 수 있는 다른 메소드 부모 클래스 Parent.java package..
2023.03.24 -
12일차 2023-03-23 Java
패키지: polymorphism14, constructor15, stringclass11 (StringConstructor.java,common.utility패키지의 CommonUtil.java ), inheritance16 1. 오버로딩(Overloading) 하나의 클래스 안에서 메소드 이름은 같으나 매개변수의 개수, 타입, 매개변수 순서가 다르면, 메소드 이름이 같아도 다른 메소드이다. 1-2) VarArgs기능 매개변수에 따라 동적인 메소드를 만들 수 있게 한다.(배열로) /* Overloading(중복정의): 하나의 클래스안에서 같은 이름의 메소드를여러개 정의 할 수 있다. 조건: 1)매개변수 갯수가 다르거나 2)갯수가 같다면 매개변수 타입이 다르거나 3)타입과 갯수가 같다면 매개변수 순서가 달..
2023.03.23