분류 전체보기 127

상속

상속 상속 - 부모가 자식에게 자산을 물려주는 행위 자식은 자연스럽게 이용 가능 부모 클래스 - 상위 클래스 자식 클래스 - 하위 클래스, 파생 클래스 -> 클래스를 재사용해서 클래스 만들기 때문에 코드의 중복을 줄여줌 * private 접근 제하는을 갖는 필드와 메소드는 상속 대상에서 제외 * 부모 클래스와 자식 클래스가 다른 패키지에 존재 한다면 default 접근 제한을 갖는 필드와 메소드도 상속대상 에서 제외 상속을 이용하면 클래스의 수정을 최소화, 유지보수 시간 최소화 클래스 상속 자식 클래스를 선언 할때 어떤 부모 클래스를 상속 받을 것인지를 결정하고 선택된 부모 클래스는 extends 뒤에 기술 class 자식클래스 extends 부모클래스 { //필드 //생성자 //메소드 } 자바는 다중 ..

어노테이션

어노테이션(Annitation)은 메타데이터(metadata) 메타데이터란 애플리케이션이 처리해야 할 데이터가 아니라 컴파일 과정과 실행과정에서 코드를 어떻게 컴파일 하고 처리할 것인지를 알려주는 정보 @AnnotationName - 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 - 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 - 실행 시 (런타임 시) 특정 기능을 실행하도록 정보를 제공 대표 ex) @Override -> 메소드 선언 시 사용하는데, 메소드가 오버라이드(재정의) 된 것임을 컴파일러에게 알려줌 빌드시 자동으로 XML설정 파일을 생성하거나 배포를 위해 JAR압축 파일을 생성하는데 사용 실헹 시 클래스의 역할을 정의 어노테이션 타입 정의와 적용 ..

Getter 와 Setter 메소드

객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막는다. -> 객체의 무결성 훼손 => 메소드를 통해 데이터 변경 - 매개값 검증해서 유효한 값만 데이터로 저장 클래스를 선언 할때 가능하다면 필드를 priavate로 선언 외부로부터 보호하고 필드에 대한 setter 와 getter 메소드를 작성해서 필드값을 안전하게 변경/사용 private 타입 fieldName //Getter public 리턴 타입 getFieldName(){ return fieldNmae } //Setter public void setFieldName(타입 fieldName){ this.fieldName = fieldName } 필드 타입 : boolean - Getter는 get 시작하지 않고 is..

접근제한자

main() 메소드를 가지지 않는 대부분의 클래스는 외부 클래스에서 이용할 목적으로 설계된 라이브러리 클래스 라이브러리 클래스 설계 할때는 외부 접근 멤버, 접근 불가 멤버로 구분 해서 필드, 생성자, 메소드를 설계, 바람직 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 객체의 특정 데이터를 보호하기 위해 해당 필드에 접근하지 못하도록 막아야 한다. 특정 메소드를 호출 할수 없도록 제한할 필요가 있다 -> 접근 제한자 제공 public - 외부 클래스가 자유롭게 사용 할 수 있는 공개 멤버를 만든다. protected - 같은 패키지 또는 자식 클래스에서 사용 할수 있는 멤버 default - 같은 패키지에 소속된 클래스 에서만 사용 private - 외부에 노출되지 않는 멤버 접근제한 적용 대..

패키지

패키지 클래스를 체계적으로 관리하기 위해 사용 폴더를 만들어 파일을 저장 관리 처럼, 물리적이 형태 파일 시스템의 폴더 단순히 파일 시스템의 폴더 기능만 하느 것이 아님 -> 클래스를 유일하게 만들어주는 식별자 역할 -> 클래스 이름이 동일, 패키지 이름 다름 => 다른 클래스로 인식 클래스 전체이름은 '패키지명+클래스명' 상위패키지.하위패키.클래스 -> 클래스를 이동할 경우에는 패키지 전체를 이동 패키지 선언 클래스 컴파일 하는 과정에서 자동적으로 생성되는 폴더 파일 시스템의 폴더로 자동 생성 package 상위패키지.하위패키지; public class ClassName{...} 패키지 명명 규칙 - 숫자로 시작해서는 안 되고 _ $ 를 제외한 특수 문자를 사용 해서는 안된다 . - java로 시작하는..

OOP(객체지향 프로그래밍 )

부품에 해당하는 객체들을먼저 만들고 하나씩 조립해서 완성된 프로그램을 만드는 기법 1. 객체란 (Object) 물리적으로 존재하거나 추상적으로 생각할수 있는것 중에서 자신의 속성을 가지고 있고 다른것과 식별 가능한 것. 객체 모델링 현실 세계의 객체를 소프트웨어 객체로 설계하는 것 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정 메소드 호출 객체가 다른 객체의 기능을 이용하는 것 리턴값 = 클래스명.메소드(매개값, 매개값2, ...); 2. 객체 간의 관계 집합 관계 - 하나는 부품이고 하나는 완성품 해당 - 엔진, 타이어, 핸들, 구성 자동차와 이 부품들은 집합의 관계 사용 관계 - 객체간의 상호 작용, 객체는 다른객체의 ㅁ[[소드를 호출하여 원하는 결과를 얻어낸다 - 사..

variable initializer is redundant

variable initializer is redundant 할당한 값을 사용하지 않을 때 뜨는 경고 이다 ex ) avg = 0.0 package Chapter5; public class SumAndAverageInArray { public static void main(String[] args) { int[][] array = { {95, 86}, {83, 92, 96}, {78, 83, 93, 87, 88}, }; int sum = 0; double avg = 0.0; int cnt = 0; for (int[] indexArray : array ) { for (int element : indexArray ) { sum += element; cnt += 1; } } avg = sum / (double..