목록전체 글 (80)
기록 > 기억
인터페이스 ● head1 public interface 인터페이스명 { //상수 필드 → 값 초기화 필수 [public static final] int MIN_SCORE = 40; [public static final] int AVG_SCORE = 60; //추상 메소드 [public abstract] method1(); //디폴트 메소드 default void method2() { } //정적 메소드 static void method3() { } } ● head2 body2 ● head3 body3
상속 ● extends 키워드 public class Child extends Parent { ... } public class Child extends Parent1, Parent2 { ... } //다중상속 불가 //자식클래스에서는 자신의 필드와 메소드는 물론이고, 부모클래스의 필드와 메소드 호출 가능 //private으로 선언된 필드와 메소드는 호출 불가 //부모클래스가 다른 패키지에 있다면, default 접근의 필드와 메소드도 호출불가 ● 부모 생성자 호출 //자식클래스가 부모클래스로부터 상속받음 public class Child extends Parent { ... } //자식클래스 객체생성 Child c = new Child(); //자식클래스 생성자에서 부모클래스 생성자를 호출함 publi..
객체와 클래스 ● 객체 필드(속성)와 메소드(동작)로 구성됨 객체들은 서로 메소드를 호출하고 결과를 반환받음 ● 객체지향 프로그래밍(OOP) 특징 ① 캡슐화 객체의 필드와 메소드를 외부에서 접근할수 없도록 숨김 (접근 제한자) 외부 객체는 객체 내부의 구조를 알지 못함 (객체가 노출한 필드와 메소드만 이용가능) 캡슐화를 하는 이유는 외부에서 함부로 데이터를 조작하지 않게 하기 위함 ② 상속 부모 객체의 필드와 메소드는 자식 객체에서 사용가능 → 반복되는 코드의 중복을 줄여줌 → 유지보수 편리 (자식 객체가 여러개 일때 부모 객체의 메소드만 수정하면 됨) → 객체의 다형성을 구현가능 ③ 다형성 부모 객체에는 모든 자식 객체를 대입 가능 인터페이스에는 모든 구현 객체를 대입 가능 ● 객체 생성 ① 클래스 생..
참조 타입 ● head1 body1 ● head2 body2 ● head3 body3
조건문과 반복문 ● head1 body1 ● head2 body2 ● head3 body3
연산자
변수와 형변환 하나의 값을 저장할 수 있는 메모리 공간 (한가지 타입만 저장가능) ● 변수 선언 //데이터타입 변수명; int age; //정수타입의 값만 저장가능 //age 라는 이름을 통해 메모리 주소에 접근 ● 변수에 값 할당 //방법 1 int age;//변수 선언 age = 30;//값 저장 //방법 2 int age = 30;//변수 선언과 동시에 초기화 ● 리터럴 → 소스코드 안에 직접 입력된 값 int age = 30;//정수 리터럴 (byte, char, short, int, long) double pi = 3.14;//실수 리터럴 (float, double) char alpha = 'A';//문자 리터럴 (char) → 작은 따옴표로 묶은 텍스트 String str = "JAVA";//..
자바 프로그램 ● 자바의 특징 ① 이식성이 높음 → 자바로 개발된 프로그램은 JRE만 설치되어 있다면 OS 상관없이 실행가능 *.java 컴파일 ↓ *.class ↙ ↓ ↘ window linux/unix mac ② 객체지향 언어 → 객체들을 만들고 객체끼리 서로 조합해서 프로그래밍 (캡슐화, 상속, 다형성) ③ 메모리 자동 관리 객체 생성시 메모리를 자동으로 할당하고, 객체를 다 사용하고 나면 가비지 컬렉터가 객체를 제거해줌 (개발자가 메모리를 관리할 필요가 없음!) ● 자바 프로그램 동작원리 ① 자바 소스코드 작성 class HelloWorld { public static void main(String[] args) { System.out.println("Hello world"); } } ② 컴파일러..