JAVA (18) 썸네일형 리스트형 [JAVA] JUnit JUnit 기본 어노테이션- @Test : 테스트 메소드. 필수로 작성이 되어야 함.- @BeforeEach : 테스트 메소드 시작 전에 실행되어야 하는 메소드.- @AfterEach : 테스트 메소드 종료 후에 실행되어야 하는 메소드.- @BeforeAll : 테스트 메소드 시작 전에 실행되어야 하는 static 메소드.- @AfterAll : 테스트 메소드 종료 후에 실행되어야 하는 static 메소드.- @Disabled : 실행되지 않아야 하는 테스트 메소드. import org.junit.jupiter.api.AfterAll;import org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.BeforeAll;import org.junit.j.. [JAVA] 패키지란? 패키지관련있는 클래스들을 하나로 묶는 것- 서로 관련된 클래스를 하나의 단위로 모을 수 있음. - 세밀한 접근 제어 구현 가능 (ex. 패키지 안의 클래스들을 패키지 안에서만 사용하도록 선언 가능함. 그럼 패키지 외부에서는 클래스를 사용할 수 없음. 즉, 클래스들이 캡슐화될 수 있는 방법임.)- 이름 충돌 피함 -> 자바에서는 모든 클래스가 서로 다른 이름을 가져야 함. 하지만 패키지만 다르면 클래스 이름이 같아도 상관 없음. 패키지 종류1. 내장 패키지 : 자바 기본 제공 패키지 (ex. lang, util, awt, javax, swing, net, io, sql)2. 사용자 정의 패키지 : 사용자 정의 패키지 패키지 선언* 패키지 선언은 코드의 무조건 맨 첫 줄에 선언- Circle 클래스를 gr.. 파일 입출력 - 객지설 13주차 스트림 - 순차적인 접근 (순서를 바꿀 순 있으나 자유롭진 않음) 입출력스트림- 자바에서 어떤 장치에 데이터를 쓰려면 장치와 연결된 스트림을 생성한 후, 스트림에 데이터를 쓰면 됨.- 자바에서 어떤 장치에서 데이터를 읽으려면 장치와 연결된 스트림을 생성한 후, 스트림에서 데이터를 읽으면 됨. 입출력스트림 종류바이트 스트림 (이진 데이터, 8비트)- binary 파일 : text 파일 외의 내용 (ex. 한글, 파워포인트 등)* binary 파일은 메모장으로 열면 이상한 문자들이 나온다 -> 글꼴, 여백, 글자 크기 등등의 정보가 있기 때문- 입력 바이트 스트림(...InputStream)- 출력 바이트 스트림(...OuputStream) 문자 스트림(문자 데이터, 16비트)- text 파일 : 사람이 보.. 상속과 구성 - 객지설 12주차 구성상속- has-a 관계- 여러 클래스에서 코드를 재사용 가능- 실생 시간에 결정- 클래스가 다른 클래스의 인스턴스를 클래스의 필드로 가짐- 하나의 클래스를 다른 클래스의 합으로 정의- 느슨한 결합이므로 코드 손상될 위험 小- 공개 인터페이스만 사용하여 상호작용- is-a 관계- 하나의 클래스에서만 코드 재사용 가능 (하나의 클래스 상속)- 컴파일 시간에 결정- 객체가 클래스를 상속 받아서 부모 객체의 속성, 동작을 획득- 한 클래스를 다른 클래스에서 파생- 부모 클래스를 변경하면 코드 손상될 위험 多- 부모 클래스의 public ~ protected 메소드가 모두 노출- 클래스를 연결하여 코드 재사용성 제공 has-a 관계 (구성)하나의 클래스 안에 다른 클래스를 가리키는 참조 변수 정의 후, 실체 .. 컬렉션/ArrayList/HashSet - 객지설 11주차 컬렉션자료를 저장하기 위한 구조. 제네릭 기법으로 구현되어 있어서 어떠한 타입의 데이터도 저장 가능 컬렉션 종류 -> 모든 클래스는 java.uti 패키지에 있1. 컬렉션 인터페이스2. 컬렉션 클래스 List 참조변수가 ArrayList를 가리킬 수 있음.Set 참조변수가 HashSet을 가리킬 수 있음.=> 업캐스팅 컬렉션 특징- 기초 자료형은 저장 불가. 클래스만 가능함 (단, 기초 자료형을 클래스로 감싼 랩퍼 클래스인 Integer나 Double은 사용 가능)Vector list = new Vector(); //컴파일 오류Vector list = new Vector(); //올바른 코드 컬렉션 인터페이스의 주요 메소드- boolean contains(Object obj) : 원하는 원소가 포함되어 .. 제네릭 - 객지설 10주차 제네릭프로그래밍을 쉽게 작성하기 위해 다양한 종류의 데이터를 처리할 수 있는 클래스와 메소드를 작성하는 기법코드가 중복되지 않음(재사용성) => 마치 상속처럼*클래스로 이용됨.*객체를 만들 수 없다 => 클래스를 만드는 모양 틀임. 동작 방식자료형(타입)을 구체적으로 명시X => T와 같은 기호로 적음.그 후, 객체를 생성할 때 T자리에 구체적인 자료형을 적음. => 자료형을 클래스의 매개변수로 만든다는 뜻 +) 제네릭 이전에는 어떻게 동작했을까다형성을 통해 제네릭 기법 전에도 모든 종류의 객체를 받을 수 있는 클래스 작성이 가능했음. 객체를 Object 타입으로 받으면 됨. Object클래스는 최상위 클래스이므로, 업캐스팅으로 모든 종류의 객체를 받을 수 있음*모든 객체는 Object 클래스의 자손임... 예외 처리 - 객지설 7~9주차 예외디스크에서 하드웨어 에러가 발생하는 것ex. 0으로 나눌 때 예외 발생, 배열 크기를 넘어서 계산할 때 예외 발 예외를 처리하는 방법1. try-catch 구조try { // 예외가 발생할 수 있는 코드} catch(예외 클래스 변수) { // 예외를 처리하는 코드} finally { // try 블록이 끝나면 무조건 실행되는 블} *try 블록은 생략이 불가능함*예외 1개 당 catch 블록 1개 지정*catch 블록이 여러 개 일 때, 매개변수는 모두 달라야 함*catch 코드 부분은 0 ~ n개 작성 가능 *finally 코드 부분은 0 ~ 1개 작성 가능*finally는 무조건 실행이 됨*try와 catch와 finally 블록은 별도의 독립된 블록임. 즉, try블록에서.. 인터페이스 - 6주차 인터페이스- 클래스 간의 상속과 관련이 있음 *상속의 장점 : 공통되는 코드를 상위 클래스에 모아두면, 수정할 일이 생겼을 때 상위 코드만 수정하면 됨. -> 하위 코드도 함께 수정되기 때문. => 코드의 재사용성과 유지 보수성이 높아짐.*사람과 자동차는 Run이라는 기능을 수행할 수 있는데, 이에 대한 부모클래스를 정의할 수 없음. 즉 상속 이용 불가 => 인터페이스 등장 인터페이스 정의 (클래스와 비슷)public interface 인터페이스_이름 { public 반환형 추상메소드1(...); public 반환형 추상메소드2(...);}* 인터페이스는 첫 글자를 대문자로 하는 것이 좋음* 인터페이스 안에는 소속변수, 생성자, 일반 메소드 정의 불가. 추상메소드만 가능* public 여부는 선택임* e.. 이전 1 2 3 다음