[JAVA] 객체지향 💡 참조 타입(객체의 주소를 참조하는 타입) : String 배열 / 열거 / 클래스 / 인터페이스모든 변수(기본 타입)는 스택(stack)에 저장참조타입은 힙(heap)에 저장메소드 영역(Method Area)바이트 파일을 읽은 내용이 저장되는 영역힙 영역(Heap Area)객체가 생성되는 영역(주소 참조 : 메소드 영역, 스택 영역의 상수와 변수)스택 영역(Stack Area)메소드를 호출할 때마다 생성되는 프레임이 저장되는 영역
썸네일 [JAVA]변수와 선언 무언가를 저장할 수 있는 공간으로 RAM에 저장된다int num; //변수 선언문num = 100; //초기값 💡 bit 0(음수),1(양수)1byte = 8bit2진수 : ob(oB)01008진수 : 0~710진수 : 0~916진수 : ox(oX) 0~9, ABCDEFScanner(타입변수)키보드로부터 입력된 데이터를 읽고 변수에 저장하는 가장 쉬운 방법package ch01;import java.util.Scanner;//scanner이라는 변수를 사용하기 위해서 꼭 선언해야 하는 명령어public class scanner { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//new scanner(..
썸네일 [JAVA]BufferedReader / Bufferedwriter 사용법 BufferedReader : Scanner과 유사Bufferedwriter : System.out.println() 과 유사BufferedReader란?InputStreamReader에 버퍼링 기능이 추가된 클래스입력 스트림에서 문자를 읽는 함수문자나 배열, 라인들을 효율적으로 읽기 위해 문자들을 버퍼에 저장하고 읽는 방법을 취한다버퍼의 사이즈는 사용자가 지정가능, 지정안하면 default 사이즈가 적용추가 import (eclipes : ctrl+shift+o)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;BuffredRe..
썸네일 [JAVA]예외처리 에러 : 응용프로그램 실행 오류가 발생 하는 것예외 : 잘못된 사용 또는 코딩으로 인한 오류, 프로그램 종료, 예외 처리를 통해 실행 상태 유지일반 예외 : 컴파일러가 예외 처리 코드 여부를 검사하는 예외실행 예외 : 컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외자바 컴파일러의 체크대상이 아니므로 직접 경험에 의해 예외 처리 코드 작성처리 안하면 예외 발생 시 프로그램 종료NullPointerException : 참조할 메모리 주소가 없는데 객체를 사용하려 해서 예외가 발생ArrayIndexOutOfBoundsException : 배열에서 인덱스 범위를 초과하여 사용할 경우 발생NumberFormatException : 잘못된 문자를 숫자로 파싱하려 할 때 발생ClassCastException :..
썸네일 [JAVA]접근제한자 💡 모든 접근을 허용하는 public부터 시작해서 차례대로 protected, default(friendly), private 이렇게 4가지 종류가 있다. public : 모든 접근을 허용private : 현재 객체 내에서만 허용default : : 같은 패키지(폴더)에 있는 객체들만 허용protected : 같은 패키지(폴더)에 있는 객체와 상속관계의 객체들만 허용접근 제한자 사용클래스 : pulic, default생성자 : public,private,protected,default멤버변수 : public,private,protected,default멤버메소드 : public,private,protected,default지역변수 : 접근제한자 사용불가클래스의 접근제한클래스 선언 시 해당 클래스를 같은..
썸네일 [JAVA]로컬클래스 예제 package 로컬클래스;public class A { //메소드 void useB() { //로컬 클래스 class B{ //인스턴스 필드 int field1 = 1; //정적필드 static int field2 = 2; //생성자 B(){ System.out.println("B생성자 실행"); } //인스턴스 메소드 void method1() { System.out.println("B method1 실행"); } //정적 메소드 static void method2() { System.out.println("B method2 실행"); } } //로컬 객체 생성 B b = new B(); //로컬 객체의 인스턴스 필드와 메소드 사..
썸네일 [JAVA] 정적 멤버클래스 예제 package 정적멤버클래스;public class A { //인스턴스 멤버 클래스 static class B{ int field1 = 1; static int field2 = 2; B(){ System.out.println("B생성자 실행"); } void method1() { System.out.println("B메소드1 실행"); } static void method2() { System.out.println("B메소드2 실행"); } } //------------------------------------------ B field3 = new B(); static B field4 = new B(); A(){ B b = new B(); } void me..
썸네일 [JAVA] 인스턴스 멤버클래스 예제 package 인스턴스멤버클래스;public class A { //인스턴스 멤버 클래스 class B{ //인스턴스 필드 int field1 = 1; static int field2 = 2; //생성자 B(){ System.out.println("B생성자 실행"); } //인스턴스 메소드 void method1() { System.out.println("B-method1 실행"); } //정적 메소드 static void method2() { System.out.println("B-method2 실행"); } } void useB() { B b = new B(); System.o..
썸네일 [JAVA] 중첩선언과 익명객체 중첩 클래스 - 클래스 내부에 클래스 선언하기- A $ B .class 인스턴스 멤버 클래스 - 객체를 생성하고 클래스 넣기public class A{ public class B{...}}멤버변수private멤버함수publicpublic class B{…} 다 사용가능private class B{…} A클래스 내부에서만 사용가능class B{…} 같은 패키지 내에서만 사용가능예제 [JAVA] 인스턴스 멤버클래스 예제package 인스턴스멤버클래스;public class A { //인스턴스 멤버 클래스 class B{ //인스턴스 필드 int field1 = 1; static int field2 = 2; //생성자 B(){ System.out.println("B생성자 실행"); } //인스턴스 메소드 vo..
썸네일 [JAVA] 객체와 클래스 💡 클래스 : 객체들의 모임 ( 붕어빵 틀 )속성 : 객체가 가진 고유한 특성, 변수를 사용행동 : 변수, 연산자, 제어문 사용객체(Object) = 인스턴스(Instance) :속성과 기능(객체의 행동 패턴)이 묶인 프로그램 단위속성 = 멤버 변수기능 = 메소드class 클래스 명{ ... } //클래스 선언 방법속성 추가 : 변수행동 추가 : 메소드(method)메소드 형식 : int, double, void(아무런 값이 없을 경우)class BankAcount {//BankAcount클래스 int balance; //속성 추가 (현재 잔액) void deposit(int n){//행동(입금) balance += n; } void withdraw(int n){//행동(출금) balance -= ..
썸네일 [JAVA] 조건문과 반복문 IF문if (condition1){ ... }else if(condition 2){ ... }else{...}예제String English,Math,Korean;if (Korean == 100) { English += 10; Math += 10;}else if (korean >= 90) { English += 10; System.out.println("국어 : "+Korean); System.out.println("영어 : "+English); System.out.println("수학 : "+Math); }국어성적이 100점이면 영어와 수학 성적을 각각 10점씩 올려주고, 90점 이상이면 영어성적만 10점 올려주는 프로그램을 작성해라논리연산자AND : && 하나라도 거짓이면..
썸네일 [JAVA] 상속 상속 : 부모가 자식에게 물려주는 행위상속 = 확장, 인스턴스 = 구현자식 클래스가 부모 클래스를 선택한다자식 클래스 → 부모클래스 선택 → 부모클래스 컴파일 → 자식클래스 컴파일public class 자식클래스 extends 부모클래예제부모 클래스class BankAccount{ int balance; void deposit(int n){ balance += n; } void withdraw(int n){ balance -= n; } int getBalance(){ return balance; } }자식 클래스class GlobalBankAccount extends BankAccount{ double getUSDBalance(){ return balance/1200.0; } }결과 테스트class Te..