본문 바로가기

Back-End173

객체지향 프로그래밍 Ⅰ 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 클래스와 객체 인스턴스 · 클래스를 통해 생성된 객체 · 참조 변수를 통해서만 다룰 수 있다 둘 이상의 참조 변수가 인스턴스를 가리키는 것은 가능하지만 하나의 참조 변수가 여러 개의 인스턴스를 가리키는 것은 가능하지 않다 클래스 · 필드(field), 메서드(method), 생성자(constructor), 이너 클래스(inner class) → 멤버 public class ExampleClass { int x = 10; //필드: 속성 void printX() {...} //메서드: 기능 ExampleClass {...} //생성자: 클래스의 객체 생성 class ExampleClass2 {...} //이너 클래스 } · new 키워드.. 2021. 12. 2.
배열(array) 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. int[] score = new int[5]; // int형의 기본값인 0으로 초기화 int[] score = new int[] {50, 60, 70, 80, 90}; int[] score = {50, 60, 70, 80, 90}; int[] score; score = new int[] {50, 60, 70, 80, 90}; // score = {50, 60, 70, 80, 90}; 에러 int add(int[] arr) {/* 내용 생략 */} int result = add(new int[] {100, 90, 80, 70, 60}); // int result = add({100, 90, 80, 70, 60}); 에러 // 참조변수의 .. 2021. 11. 25.
연산자(Operator) 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 우선 순위: 산술(사칙 연산, 나머지, 쉬프트) > 비교 > 논리 > 대입 > 기타(형변환, 삼항, instanceof) 정수형은 0을 나눌 수 없다. ArithmeticException 문자 '2(2가 아니어도 된다)'를 숫자로 변환하려면 문자 '0'을 빼 주면 된다 → 50 - 48 = 2 char c1 = 'a'; // char c2 = c1 + 1; 컴파일 에러, 문자형과 정수형 연산은 결과가 정수형이므로 char에 담을 수 없다 char c2 = 'a' + 1; // 'a' + 1이 리터럴 간의 연산이기 때문에 에러 발생하지 않음 System.out.println(c2); // b 상수 또는 리터럴 간의 연산은 실행 과정 동안.. 2021. 11. 16.
변수(variable) 이 글은 남궁성 님의 Java의 정석 책을 참고하여 정리한 글입니다. 지역 변수: 초기화 반드시 필요 → 메모리는 공유 자원이라서 Garbage Value가 남아 있을 수 있다 클래스 변수, 인스턴스 변수: 초기화 생략 가능 식별자 규칙: 특수 문자 '_'과 '$'만 허용 클래스 이름의 첫 글자는 항상 대문자, 변수와 메서드의 이름의 첫 글자는 항상 소문자 https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html 자료형 1. 기본형(primitive type) 자료형 값의 범위: -2n-1 ~ 2n-1-1 (n은 bit 수) int: 대략 10자리 수의 값 저장, 7~9자리 수를 게산할 때는 long 타입(.. 2021. 11. 15.
Java란? 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 언어 특징 운영체제에 독립적 자바가상머신(JVM): 운영체제에 종속적 객체지향언어: 상속, 캡슐화, 다형성 자동 메모리 관리(Garbage Collection) 네트워크와 분산 처리를 지원 멀티쓰레드 지원: 시스템과는 관계 없이 구현 가능, 관련 라이브러리 제공, 자바 인터프리터가 여러 쓰레드에 대한 스케줄링 담당 동적 로딩 지원: 필요 시점에 따라 필요한 클래스만 유연하게 로딩하고, 작성할 수 있다 Java API 문서: https://docs.oracle.com/en/java/javase/index.html 프로그램 작성 소스 파일의 이름은 public class의 이름과 일치해야 한다. public class는 없을 수는 있지만 .. 2021. 11. 15.