전체 글
-
[자바기초] String, StringBuffer, String Builder 정리노트º Language º/Java 2023. 3. 29. 22:25
* String - immutable (불변함) , 변하지 않는 문자열 - String은 한번 생성이 되면 할당된 메모리 공간이 변하지 않는 문자열입니다. - String은 주소 값이 stack 메모리 영역에 쌓이고, 클래스들은 Heap 메모리 영역에 생성됩니다. 그렇기에 새로운 값을 할당할 때마다 새로운 객체를 만들어 문자열을 저장하고 그 객체를 참조합니다. - 가비지가 쌓이기에 문자열 연산이 많을 경우 성능이 좋지 않습니다. String str = "hello"; str += " world"; 출력 값 : hello world > 예시의 코드 처럼 문자가 자연스럽게 합쳐진 것처럼 보이지만 사실은 새로운 객체가 생성되어 'hello world'를 만든 것입니다. 그렇기에 기존에 있던 String의 'h..
-
[자바기초] 객체지향 프로그래밍 특징(다형성) 정리노트º Language º/Java 2023. 3. 25. 16:54
* 객체 지향 프로그래밍의 특징 1. 은닉성 : 외부의 다른 클래스로부터 속성(맴버변수)를 보호하는 것. 2. 상속성 : 이미 있는 클래스를 확장하여 새로운 클래스를 만드는 것. 코드의 재사용성을 높일 수 있습니다. 이번에 알아 볼 특징은 '다형성'입니다. 3. 다형성 : 객체들에게 동일한 메소드를 주었을 때 객체마다 동작하는 방식이 다른 것. * 어떻게 같은 메소드 값을 주었는데 다를 수가 있느냐?.. - 객체 참조변수를 출력문에 표현하게 되면 그 객체가 바라보고 있는 메모리의 주소값이 출력이 되어요. 예를 들면, Person p = new Person(); // p는 person 클래스 객체의 참조 변수입니다. System.out.println(p); // 이와 같이 출력을 할 때에 주소값만이 출력됩..
-
[자바기초] 객체지향 프로그래밍 특징(상속성) 정리노트º Language º/Java 2023. 3. 23. 00:05
* 값에 의한 호출(Call by Value) / 참조에 의한 호출(Call by reference) - 메소드 호출에는 값에 의한 호출과 참조에 의한 호출이 있습니다. - 값에 의한 호출 : 메소드 호출시에 "기본자료형"이 전달되는 경우를 말하며 메소드 안에서 변경되어 전달한 값이 메소드 호출쪽에서는 지속적으로 적용이 되지 않아요. class CallByValueTest { public static void add(int n){ n = n + 1; System.out.println(n); //return 생략 } public static void main(String[] args) { int data; data = 20; System.out.println(data); //20 add(data); //2..
-
[자바기초] 객체지향 프로그래밍 정의 및 특징(은닉성) 정리노트º Language º/Java 2023. 3. 20. 20:24
자바는 객체 지향 프로그래밍 언어라고 합니다. 그렇다면, 객체 지향 프로그래밍 언어는 무엇일까요? * 객체란? - 현실 세계의 모든 것은 객체화 할 수 있습니다. 현실 세계은 눈에 보이는 것일 수도 있고 눈에 보이지 않는 추상적인 것일 수도 있어요. - 이 세상을 구성하고 있는 모든 것이 "객체"입니다. 수 많은 객체들로 구성되어 있지요. 예를 들어, 책상에 놓여 있는 컴퓨터, 마우스, 키보드, 연필 등 모두 "객체"입니다. - 객체는 이 세상에서 유일하며 객체 자신을 구성하기 위한 고유한 속성과 동작들로 구성이 되어있어요. 마우스를 대신하여 연필을 사용할 수 없겠죠? 자신이 가진 고유한 속성과 동작을 사용해야 하니까요. * 객체 지향 프로그래밍이란? - 자바로 객체 지향 프로그래밍을 할 때에는 내가 표..
-
[자바기초] 배열 정리노트º Language º/Java 2023. 3. 17. 20:54
만약 100명의 점수를 입력받아 출력하는 프로그램을 작성해야 한다면 다음과 같이 변수 100개를 만들어야 합니다. int score1, score2,score3, .... score100; 이것은 상상만 해도 끔찍한 일입니다. 일일이 언제 변수를 100개를 만드냐... * 배열이란? 이와 같이 자료형이 같은 변수가 많~이 필요할때에 일일이 변수이름을 정하지 않고 대표하는 이름을 정해주고 몇개가 필요한지 크기를 정해주어 한꺼번에 필요한 만큼 변수를 선언할 수 있어요. 이것을 "배열"이라고 합니다. - 배열 : 자료형이 같은 기억장소의 모임 * 배열을 사용하는 방법? int []a;//배열의 선언 a = new int[100];//배열의 생성 예를 들어보죠. 한번에 배열을 선언하면서 정수형으로 변수 100개..
-
[자바기초] 제어문(반복문) 정리노트º Language º/Java 2023. 3. 15. 20:43
2. 반복문 (for, while, do~while) - 어떠한 조건을 만족하는 동안에 명령어(들)을 반복하여 실행시킬때에 사용하는 문장입니다. * break와 continue - break와 continue는 제어문에서 사용하는 키워드 입니다. - break는 switch나 반복문을 탈출 시킬때에 사용하는 키워드 입니다. - continue는 반복문 안에서 사용되며 continue 이후의 문장은 실행시키지 않고 다음 조건식이나 증감식을 수행하라는 의미 입니다. * for 반복문을 사용하는 형식 for( 반복할 조건의 초기값 ; 최종 만족한 조건식 ; 증감식 ){ 명령어(들) } for( i=0 ; i for 문의 항1,항2,항3의 조건식을 만족할 동안에 명령어(들)을 반복하여 실행합니다. 연습) - 사..
-
[자바기초] 오류의 종류와 제어문(선택문) 정리노트º Language º/Java 2023. 3. 13. 21:11
* 자바 오류의 종류 1. 문법오류 - 자바문법에 맞지 않는 오류를 말하며 컴파일시에 오류메세지를 출력 해 줍니다. - 오류메세지를 파악하여 오류를 제거한 후 저장하고 다시 컴파일 하여 문제를 해결합니다. 2. 논리오류 - 컴파일도 되고 실행도 잘 되지만 기대하는 대로 바람직하게 동작하지 않는 것을 말합니다. - 프로그램 속에 "버그"가 들어있다고 하고 그 "버그"를 잡아가는 과정을 "디버깅"이라고 합니다. - 디버깅 할 때에는 의심 부분을 실행하지 않도록 주석으로 처리 한다든지 진행되는 변수의 값을 출력을 해 본다든지 하여 문제를 해결할 수 있어요. (편집도구 디버깅 툴을 이용할 수 있어요) 3. 실행오류 - 컴파일도 되고 실행도 잘 되지만 때로는 실행할 때 발생하는 오류를 말합니다. - 실행시에 사용..
-
[자바기초] 연산자의 종류와 활용 방법 정리노트º Language º/Java 2023. 3. 11. 13:26
* 연산자 - 주어진 문제해결을 위하여 프로그램을 만들 때에 다양한 연산자를 사용해야 합니다. 자바에서 사용할 수 있는 연산자의 종류와 사용법을 알아봅시다. 1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기(몫) % 나누기(나머지) * 자료형이 다른 것 끼리 연산을 한다면? - 자료형이 다른 것 끼리 연산을 시키면 그중에 메모리 크기가 큰 자료형의 결과가 됩니다. - int + int ==> int - double + int ==> double - int + double ==> double - int / int ==> int - double / int ==> double - int / double ==> double * ex) 5 / 2 는 어떤 값이 나오나요? - 원하는 2.5 로 출력되지 않고..