JAVA/java 이론 23

[자바JAVA] 메서드 오버로딩 overloading

이 게시물에는 아래의 내용이 포함되어있습니다. 1. 메서드 오버로딩 2. 오버로딩의 예 3. 오버로딩의 장점 4. 예제 1. 메서드 오버로딩 하나의 클래스에 같은 이름을 가진 메서드를 여러개 정의하는 것 메서드의 이름이 같고 매개변수의 개수와 타입이 다르다. 리턴타입이 다른 것은 오버로딩 성립안된다. 2. 오버로딩의 예 System.out.println메서드 같은 이름의 메서드에 매개변수타입이 다릅니다. 3. 오버로딩의 장점 하나의 이름의 메서드로 여러가지 기능을 구현할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package sec01_exam_overload..

JAVA/java 이론 2020.10.10

[자바JAVA] 재귀호출, 팩토리얼

오늘은 재귀호출에 대해서 알아보겠습니다. 재귀호출이란 메서드 내에서 자기자신을 반복적으로 호출하는 것입니다. 팩토리얼, 제곱, 트리운행, 폴더목록표시 등에 쓰입니다. 코드로 확인해봅시다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package sec03_exam; public class FactorialEx { public static void main(String[] args) { long result = FactorialEx.factorial(5L); System.out.println("5!의 값: " + result); } //자기자신을 호출하는 재귀 private static long factorial(long n) { ..

JAVA/java 이론 2020.10.09

[자바JAVA] call by value & call by reference/ 값에 의한 참조 & 주소에 의한 참조

오늘은 C언어에서 call by value와 call by reference와 같은 개념을 자바에서 배워보도록 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package sec02_exam; public class PrimitiveParamEx { //c언어에서 call by value를 의미. 호출한 곳에 전혀 영향을 끼치지 않는다. public static void main(String[] args) { Data d = new Data(); d.x=10; System.out.println("main(): x = " + d.x); PrimitiveParamEx.change(d.x);//값에 의한 복사 System.ou..

JAVA/java 이론 2020.10.09

[자바JAVA]JVM의 메모리구조- 호출스택

JVM의 메모리 구조에서 호출스택에 대해 알아보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package sec02_exam; public class CallStackEx { public static void main(String[] args) { System.out.println("main()실행됨"); CallStackEx.firstMethod(); System.out.println("main()종료됨"); } public static void firstMethod() { System.out.println("firstMethod()실행됨"); CallStackEx.secondMethod(); System.out.println("..

JAVA/java 이론 2020.10.08

[자바JAVA] 객체지향개념2 - 변수와 메서드. 클래스변수. 인스턴스 변수. 지역변수. static메서드. 인스턴스 메서드

1. 선언위치에 따른 변수의 종류 변수는 선언위치에 따라서 종류와 범위가 달라집니다. 종류는 아래 3가지 입니다. ① 클래스 변수 ② 인스턴스 변수 ③ 지역변수 클래스 변수는 앞에 static이 붙은 변수인데요 클래스가 메모리에 올라갈때 static영역에 올라갑니다. 인스턴스 변수는 클래스의 인스턴스를 new연산자를 통해 만들때 생성되구요 이 변수는 heap영역에 만들어집니다. 지역변수는 메서드 안에 있는 변수로, 메서드 내에서만 유효한 변수입니다. 인스턴스 변수는 꼭 초기화를 해주지 않아도 되지만 지역변수는 꼭 초기화를 해주어야합니다. 2. 클래스 변수와 인스턴스 변수 인스턴스 변수는 각 인스턴스 마다 가지는 고유의 값이고 클래스는 그 클래스를 통해 만드는 인스턴스에서 공통으로 가지는 값입니다. 1 2..

JAVA/java 이론 2020.10.08

[자바JAVA] 객체지향개념1 - 클래스와 객체, 클래스 접근 제어자, 메서드 구성

안녕하세요 자바칩 프라푸치노입니다. 오늘은 자바에서 객체 지향 개념1번 클래스와 객체에 대해 알아보겠습니다. 이제껏 포스팅했던 이론들은 라인 순서대로 코드가 진행되는 절차지향 이었다면 이제부터는 코드가 여기갔다 저기갔다하는 객체지향 개념입니다. 처음접하시는 분은 아직 무슨 말인지 이해가 안될 수도 있습니다. 1. 객체지향 언어의 역사 간단하게 알아보고 가겠습니다. - 과학, 군사적 모의실험(simulation)을 위해 컴퓨터를 이용한 가상세계를 구현하려는 노력으로부터 객체지향이론이 시작됨 - 1960년대 최초의 객체지향언어 Simula탄생 -1980년대 절차방식의 프로그래밍의 한계를 객체지향방식으로 극복하려고 노력함.(C++, Smalltalk과 같은 보다 발전된 객체지향언어가 탄생) - 1995년 말 ..

JAVA/java 이론 2020.10.07

[자바 JAVA] 이차원 배열,int 2차원 배열, 향상된 for문

안녕하세요 자바칩프라푸치노입니다. 오늘은 자바에서 다차원배열에 대해 알아보겠습니다. 2020/09/26 - [§개발자 되기 프로젝트§/java 이론] - [자바JAVA]일차원 배열 , 배열의 길이, 배열의 선언방법, 배열 초기화, 배열 출력 [자바JAVA]일차원 배열 , 배열의 길이, 배열의 선언방법, 배열 초기화, 배열 출력 안녕하세요 자바칩 프라푸치노입니다. 이번에는 일차원 배열에 대해서 알아보겠습니다. 1. 배열 배열이란 같은 데이터 타입의 여러 변수를 하나의 묶음으로 다루는 것입니다. 많은 양의 값을 � sso-feeling.tistory.com 일차원 배열 포스팅도 있습니다. 이어서 이차원 배열은 타입 [][] 변수이름; 으로 선언하는것이 정석입니다. (타입 변수이름[][]; 타입[] 변수이름[..

JAVA/java 이론 2020.10.05

[자바JAVA]일차원 배열 , 배열의 길이, 배열의 선언방법, 배열 초기화, 배열 출력

안녕하세요 자바칩 프라푸치노입니다. 이번에는 일차원 배열에 대해서 알아보겠습니다. 1. 배열 배열이란 같은 데이터 타입의 여러 변수를 하나의 묶음으로 다루는 것입니다. 많은 양의 값을 다룰 때 유용합니다. 배열의 각 요소는 서로 연속적입니다. 메모리 공간에서의 모습을 살펴보겠습니다. 메모리상에 이렇게 연속적으로 값이 저장된 배열이 생깁니다. 2. 배열의 선언 타입 [] 변수이름 ; 이렇게 선언합니다. int형이면 int[] i ; 라고 쓰고 int배열 i라고 합니다. 그러면 위의 메모리 그림으로 치면 stack영역에 i라는 메모리 공간이 생겼다는 말이구요 int [] i = new int[6]; 이렇게 해주어야 비로소 heap영역에 6개의 방이 생성되는 것입니다. 6이 적힌 부분에는 원하는 길이의 숫자를..

JAVA/java 이론 2020.09.26

[자바JAVA] 반복문 for문, while문 , do while, continue, break

안녕하세요 자바칩 프라푸치노입니다. 오늘은 반복문에 대한 이론 공부를 해보겠습니다. 반복문에는 for, while, do- while문이있습니다. 1. for문 특정한 횟수만큼 반복을 할때 for문을 써줍니다. for문의 형식은 for( 초기화; 조건식; 증감식){ } 이렇게 써줘야합니다. 예를들어서 요러케 쓰면 i=0 부터 시작을 한다. 그리고 i가 보다 같거나 작아질때까지 i를 후위증가한다. 그 개수만큼 for안의 코드를 실행한다. 이뜻입니다. 그러면 for문은 6번 돌겠네요. 그리고 total 에 i를 계속더한다 입니다. 그럼 i가 0일때 total에 0을 더하고 i가 1일때 total 에 0+1을 하고 i가 2일떄 1이된 total에 2를 더하고 이런식입니다. 2. 중첩 for문 for문의 중첩에..

JAVA/java 이론 2020.09.22

[자바JAVA] 조건문과 난수 발생 Math.random()

안녕하세요 자바칩 프라푸치노입니다. 이번에는 조건문에 대해서 알아보겠습니다. 자바에서는 조건문이 if문과 switch문이있습니다. 모든 switch문은 if문으로 바꿀 수 있는데요 if문을 switch문으로 모두 바꿀 수 있는 것은 아닙니다. 1. if문 if문의 종류에는 if문, if - else 문 , if - else if - else문이 있습니다. if ( 조건식) { 조건식이 true일때 실행되는 코드 } 이렇게 작성을 합니다. 조건식 안에는 true나 false가 들어가야합니다. if(조건식){ }else{ } if-else문은 if안의 조건식이 맞으면 그 안의 코드를 실행하고, 아닌 경우에는 모두 else에 있는 코드를 실행합니다. 모아니면 도일때 사용하는 조건문입니다. if(조건식){ }e..

JAVA/java 이론 2020.09.21