전체 글 28

클래스 내부 구성 요소 #1 (필드 / 메서드 / 생성자)

필드 객체의 속성값을 지정할 수 있는 클래스에 포함된 변수 클래스 {...}에서 선언 Heap 메모리에 저장 → 객체(Obect)가 Heap 메모리에 저장되는데 필드는 객체 속에 저장되므로. 미입력시 강제 초기화 : 빈칸으로 존재할 수 없으며 디폴트 초기값이 강제 설정 기본자료형(숫자 디폴트 값 :0), boolean (디폴트 값:false), 참조자료형(디폴트 값 : null) [비교] 지역변수 메서드에 포함된 변수 Stack 메모리 저장 메서드가 호출될 때만 생성 메서드 실행 완료시 Stack메모리에서 삭제 → 생명 주기가 끝나면 자동으로 삭제 강제 초기화 (X) 메서드 수식어 빨간색 필수 요구사항 public static int sum ( int a, int b ) { //메서드 내용 } 접근지정자..

Java 이론 2022.06.01

클래스와 객체

□ 교재 : Do it! 자바 완전 정복 = 객체지향형 프로그래밍 : 객체를 구성하고 객체단위로 프로그래밍 (필드 / 메서드), 필요한 기능을 호출하는 것 = 객체지향 요소 : (1) 클래스 (2) 인터페이스 - 추상메서드 : 함수의 정의가 미완성된 메서드 - 추상클래스 : 추상(abstract) 메서드를 하나 이상 가지고 있는 클래스 - 인터페이스 : 모든 필드는 public static final, 모든 메서드는 public abstract - 추상클래스와 인터페이스는 정반대의 의미 ( 여자 & 남자 이런 느낌) 클래스의 구조 = 클래스 밖에 올 수 있는 3가지 package : .java 파일의 폴더(패키지) 위치 import : 다른 폴더(패키지) 위치의 클래스를 참조 외부클래스(external ..

Java 이론 2022.06.01

[220531] 상속(inheritance), super, super()

목표 달성 수업 복습 ■ 복습문제 해설 - static은 this 사용불가 - class 분리하기 위해서 다른 곳에서도 사용할 수 있도록 public을 class 앞에 붙이기 ■ 상속 상속의 의미 : 기존 클래스에 기능을 "추가"하거나 "재정의"하여 새로운 클래스를 정의 하는 것 상속 이용시 기존에 정의되어 있는 클래스의 모든 필드와 메소들를 물려받아 새로운 클래스를 생성할 수 있음 부모 클래스(parent class) = 상위 클래스(super class) = 기초 클래스(base class) 자식클래스(child class) = 하위 클래스(sub class) 1. 개요 - 클래스의 재사용, 기존 클래스를 물려받아 새로운 부분만 [추가]하거나 [수정]하려고 만든 개념 [부모클래스(parent clas..

Java 실습 2022.05.31

[220527] 접근제한자(Acess Modifier)

목표 달성 1. private를 붙이고 getter/setter를 이용하여 class Score 를 작성할수 있다. 수업 정리 ▷ 접근제한자 public 접근 제한자 : 외부 클래스가 자유롭게 사용할 수 있음 protected 접근 제한자 : 같은 패키지 또는 자식 클래스(상속)에서 사용할 수 있음 default 접근 제한자 : 같은 패키지에 소속된 클래스에서만 사용할 수 있음 private 접근 제한자 : 외부에서 사용할 수 없음 접근 제한 적용 대상 접근할 수 있는 클래스 public 클래스, 필드, 생성자, 메소드 모든 클래스 protected 필드, 생성자, 메소드 같은 패키지 내에 있는 클래스 상속받은 자식 클래스 default 클래스, 필드, 생성자, 메소드 같은 패키지 내에 있는 클래스 pr..

Java 실습 2022.05.29

[220525]Class,jvm 메모리 영역, 깊은복사

목표 달성 - 변수의 유효범위를 구분할수 있다. 클래스변수(static 변수) , 인스턴스변수, 지역변수(일회용변수) 트러블 슈팅 ▶ 현상 : Scanner가 정상적으로 작동하지 않음 ▶ 원인 : Scanner를 생성할 때 소스코드에 ""가 입력되어 있음 ▶ 해결책 : ""을 제거하니까 클래스 파일이 적상적으로 작동함 Scanner sc = new Scanner(System.in); ▶ 현상 : 오류X => 오류가 생길 가능성이 높은 소스 ▶ 원인 : 지역변수가 초기화되지 않았다 ▶ 해결책 : void method(){int a = 0; System.out.println(a); }//지역변수 초기화 해주기 수업 내용 요약 정리 ▶ 생성자(Constructor) 인스턴스를 초기화 하는 메서드 기본생성자 파..

Java 실습 2022.05.26

[220524]Class_수정하기

■ 목표 달성 1. oop란? 에 대해서 말할수 있다. (o/X) ㄴ 답변 : - 객체 지향 프로그램 - object - 틀 / oriented - 기반 / program -프로그램 ★면접- 부품객체를 조합해 완성된 프로그램을 만드는 기법 - 현실세계의 객체모델을 바탕으로 프로그램을 구조화하고 개발하는 프로그래밍 기법 - 객체들은 상호작용 : 객체들은 서로간에 기능(동작)을 이용하여 데이터를 주고받음 - 객체지향 프로그램에서는 객체는 다른 객체와 관계를 맺음 - 관계의 종류 집합관계 : 완성품과 부품의 관계 사용관계 : 객체가 다른 객체를 사용하는 관계 상속관계 : 종류객체와 구체적인 사물객체관계 2. 클래스란? 에 대해서 말할수 있다. (o/X) ㄴ 답변 : - 멤버변수 + 멤버변수 - 어떤 사물을 나..

Java 실습 2022.05.24

[220523] Method, JavaApi

■ 목표 달성 ≫ call by reference를 사용하여 성적처리를 작성할 수 있는가? (O) ≫ 메소드 매개변수의 호출 방식은 여러 가지가 있다. 그 중 Call by Reference과 Call by value를 알고 있어야 한다. Call by value는 값을 전달하는 방식이고, Call by Reference는 주소를 전달하는 방식이다. Call by value은 값을 전달받는 것이기 때문에 전달받은 값에 어떤 행동을 취하던지, 기존에 저장된 변수값에는 변함이 없다. 왜냐하면 기존값과 전달받은 값이 같은 주소에 저장된 값이 아니기 때문이다. 그에 반해서 Call by Reference는 주소를 전달하는 방식이므로 어떤 행동을 취하게 되면 기존에 저장된 변수값에 변화가 생김. ■ 트러블 슈팅 ..

Java 실습 2022.05.24