전체 글

개발 공부하는 블로그
·Java/혼공자
08-1 인터페이스 개발 코드와 객체가 통신하는 접점 역할 코드가 인터페이스의 메소드 호출 시 -> 인터페이스는 객체의 메소드를 호출한다. 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알면 된다. 인터페이스를 두는 이유는 인터페이스는 여러 객체들과 사용 가능하기 때문에 코드 변경 없이 실행 내용과 리턴값을 다양화 할 수 있다. 인터페이스 선언 인터페이스 선언은 class 대신 interface 키워드를 사용한다. 인터페이스명은 클래스명 작성 규칙과 동일하다. [public] interface 인터페이스명 { ... } 인터페이스는 구성 멤버로 상수 필드와 추상 메소드만을 가진다. 인터페이스는 객체로 생성할 수 없기 때문에 생성자를 가질 수 없다. 상수 필드 선언 인터페이스는 객체 사용..
·Java/혼공자
07-1 상속 상속은 중복되는 코드를 줄여준다. 부모 클래스 수정 시 자식 클래스에도 적용되어 유지 보수 시간을 최소화해준다. 클래스 상속 자식 클래스 선언 시 extends 뒤에 상속받을 부모 클래스를 작성한다. class SportCar extends Car {} 상속 특 - 여러 개의 부모 클래스를 상속할 수 없으며, 단일 상속만 가능하다. - 부모 클래스에서 private 접근 제한을 갖는 필드/메소드는 상속되지 않는다. 부모, 자식 클래스가 다른 패키지에 존재 시 default 접근 제한을 갖는 필드/메소드는 상속되지 않는다. 부모 생성자 호출 자식 객체 생성 시 부모 객체가 먼저 생성된 후 부모 객체를 자식 객체가 상속하게 된다. 부모 생성자는 자식 생성자의 맨 첫줄에서 호출된다. 컴파일러가 ..
·Java/혼공자
기본미션 p. 330 문제 5번 실행 결과 인증 화면 캡처하기 Parent 클래스 Child 클래스 ChildExam 클래스 실행결과 내용 정리 chapter 6 https://ycyeon.tistory.com/34 Chapter 06 클래스 06 - 1 객체 지향 프로그래밍 객체 지향 프로그래밍 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지며 식별 가능한 것을 말한다. 객체는 속성과 동작으로 구 ycyeon.tistory.com chapter 7 https://ycyeon.tistory.com/36 Chapter 07 상속 07-1 상속 상속은 중복되는 코드를 줄여준다. 부모 클래스 수정 시 자식 클래스에도 적용되어 유지 보수 시간을 최소화해준다. 클래스 상속 자식 ..
·Java/혼공자
06 - 1 객체 지향 프로그래밍 객체 지향 프로그래밍 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지며 식별 가능한 것을 말한다. 객체는 속성과 동작으로 구성되어 있으며 자바에선 속성 - 필드, 동작 - 메소드라고 한다. 객체와 클래스 클래스 = 설계도, 인스턴스 = 클래스로부터 만들어진 객체, 인스턴스화 = 클래스로부터 객체를 만드는 과정 클래스 선언 클래스명은 다른 클래스와 식별할 목적으로 사용되므로 식별자 작성 규칙을 따른다. 식별자 작성 규칙 - 하나 이상의 문자로 이뤄짐 - '$', '_' 이외의 특수문자 사용 X - 첫 글자 숫자 X - 자바 키워드 사용 X 소스파일명과 클래스명은 대소문자까지 일치하도록 해야 함. 클래스 선언 시에는 public class ..
·Java/혼공자
기본 미션 JDK 설치 화면 인증하기 선택 미션 학습 스케줄 짜고 공유하기 chapter 01 ~ 04 정리 https://ycyeon.tistory.com/31 Chapter 01 자바 시작하기 ~ 04 조건문과 반복문 자바 기본 타입 자바의 기본 타입에는 정수, 실수, 논리 타입이 있다. 정수 타입에는 byte, char, short, int, long 형이 있고 실수 타입에는 float, double 형 논리 타입에는 boolean 형이 존재한다. 정수 연산 ycyeon.tistory.com chapter 05 정리 https://ycyeon.tistory.com/32 Chapter 05 참조 타입 기본 타입 변수와 참조 타입 변수 자바의 데이터 타입은 크게 기본 타입과 참조 타입으로 나뉜다. 기본..
·Java/혼공자
기본 타입 변수와 참조 타입 변수 자바의 데이터 타입은 크게 기본 타입과 참조 타입으로 나뉜다. 기본 타입은 정수, 실수, 논리 타입으로 나뉘고 참조 타입은 배열, 열거, 클래스, 인터페이스 타입이 있다. 자바에서 모든 변수는 스택 영역에 생성되지만 기본 타입 변수 -> 변수에 값을 직접 저장하고, 참조 타입 변수 -> 힙 영역에 생성된 객체의 번지를 저장한다. 따라서 참조 변수는 번지를 참조하여 객체에 접근하므로 참조 타입 변수라고 한다. 메모리 사용 영역 메모리 영역은 메소드 영역, 힙 영역, jvm 스택 영역으로 나뉜다. 메소드 영역에는 .java 파일 작성 후 컴파일을 통해 생성된 바이트 코드 파일을 실행하면 메소드 영역에 로딩이 된다. 클래스의 바이트 코드들이 메소드 영역에 저장된다. 힙 영역에..
·Java/혼공자
자바 기본 타입 자바의 기본 타입에는 정수, 실수, 논리 타입이 있다. 정수 타입에는 byte, char, short, int, long 형이 있고 실수 타입에는 float, double 형 논리 타입에는 boolean 형이 존재한다. 정수 연산에서의 타입 변환 정수 타입 변수가 산술 연산식에서 피연산자로 사용될 경우 int보다 허용 범위가 작은 byte, short 타입 변수는 자동으로 int 형으로 타입이 변환되어 연산된다. 다른 타입의 변수를 연산할 경우 허용범위가 더 큰 타입으로 변환된 후 연산을 수행한다. 예를 들어 int형 변수와 double형 변수를 덧셈연산을 할 경우, int형 변수를 double형으로 변환한 후에 덧셈 연산을 실행한다. 정수끼리의 연산은 결과도 정수 타입이다. int a ..
·Java
열거 타입 데이터 중에는 몇가지로 한정된 값만을 갖는 경우가 있는데 이런 타입을 열거 타입이라고 한다. 열거 타입은 한정된 값인 열거 상수 중에서 하나의 상수를 저장한다. 열거 타입 선언 열거 타입을 선언하기 위해서는 먼저 열거 타입의 이름을 정한 뒤 열거 타입명과 동일한 소스파일을 생성해야 한다. 소스파일을 생성 후 파일 내용에 열거 타입을 선언한다. 열거 타입 선언 시 열거 상수는 모두 대문자로 작성하는 것이 관례이다. 요일을 저장하는 열거 타입 Week 선언 시 다음과 같이 작성하면 된다. public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } 이렇게 생성된 열거 상수들은 각각 해당 내용을 값으로 하는 W..
·Java
배열 배열은 데이터를 메모리의 연속된 공간에 나열하고 각 데이터에 인덱스를 부여한 자료구조이다. 배열은 같은 타입의 데이터만 저장할 수 있고 한 번 생성된 배열은 길이를 수정할 수 없다. 배열 변수 선언 배열을 사용하기 위해서는 배열 변수를 선언해줘야 한다. 배열도 참조 타입이기 때문에 힙 영역에 배열 객체 생성 후 그 번지를 변수에 저장한다. 배열 변수를 선언하는 방법은 두가지가 있다. 1. 타입[] 변수 2. 타입 변수[] 대괄호는 배열 변수를 선언하는 기호로 변수명 앞이나 뒤에 붙을 수 있다. 배열 생성 배열을 생성할 때도 값 목록을 사용하거나 new 연산자를 사용하는 두가지 방법이 있다. 값 목록으로 배열 생성 타입[] 변수명 = { 값0, 값1, ...}; 형식은 위와 같다. 중괄호는 주어진 값..
·Java
자바의 데이터 타입 자바의 데이터 타입은 기본 타입과 참조 타입으로 나뉜다. 기본 타입은 정수, 실수, 논리 타입을 말하고 참조 타입은 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스를 말한다. 문자열을 저장하는 String도 참조 타입이다. 자바에서는 문자열을 값이 아닌 객체로 취급하기 때문에 참조 타입 변수에 문자열을 저장 시 힙 영역에 String 객체 생성 후 그 안에 문자열을 저장한다. 그리고 변수에는 String 객체의 번지가 저장되고 변수는 해당 번지를 참조하여 문자열에 접근할 수 있다. 기본 타입 변수는 변수에 값이 그대로 저장되고 참조 타입 변수는 힙 영역에 생성된 객체의 번지를 갖고 있다 이게 둘의 차이~ 메모리 사용 영역 JVM은 운영체제에서 할당받은 메모리 영역을 ..
yeooniyeoon
개공블