목록전체 글 (83)
천천히 빛나는
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5Uhwn/btsqvg5t8iS/H5vpSr4z1E4Weu82LjDuy1/img.png)
1. 메소드 오버로딩이란 무엇인가? 하나의 메소드가 다양한 파라미터를 받을 수 있도록 하는 것 2. 클래스 변수를 초기화하는 블록 정적 초기화 블럭 정적(static)은 고정된이란 의미를 가지고 있다. 정적 멤버는 클래스에 고정된 멤버로, 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다. public class Coffe{ static String kind = “과테말라 안티구아”; static int price = “10000”; static String info; static{ info = kind + “,” + price; } } 3. 인스턴스 변수와 클래스 변수의 차이점 인스턴스 변수는 객체마다 고유한 값을 가지지만 클래스 변수는 모든 객체가 공유하는 값을 가진다 public clas..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKCgMw/btspxct93zU/HDTHJFn1sceK1aV1IzBEY0/img.png)
상속 (Inheritance) 부모 클래스가 가지는 멤버(필드, 메소드)를 자식 클래스가 물려 받아 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술이다. (단, 생성자는 물려 받지 않음) public class Academy extends Company { // Academy가 Company의 속성을 물려받음 } 자바는 단일상속(자식 클래스는 하나의 부모 클래스만 가지는)만 지원한다. (c++은 가능하다) 부모 클래스는 extends와 같이 표시하지 않는다. class Calculator { int left, right; public Calculator(int left, int right){ // 기본 생성자 없음 this.left = left; this.right = right; } public vo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqo10y/btspg0PHccS/0wDHbKEIEQS5Iq5Ui4tqQK/img.png)
열거 타입 (enum) 상수(constant)의 집합 클래스 public enum Subjects { // 작성된 순서대로 0부터 값이 자동 부여 JAVA, // 0, Subjects Subjects.JAVA = new Subject(); ORACLE, // 1 JDBC, // 2 HTML, //3 CSS, //4 JAVASCRIPT // 5 } enum 키워드를 활용하여 열거 타입을 선언할 수 있다. JAVA, ORACLE, JDBC의 값들은 enum 타입의 인스턴스를 가지고 있고, Subject enum은 6개를 담고 있다 public class Subjects { // 정수 열거 패턴 public final static int JAVA = 0; public final static int ORACLE..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/scjzj/btso93eeH8n/eGATksJ0XPojhK4c1hopw0/img.png)
객체 지향 언어의 4대 특징 1) 추상화 : 필요한 부분만 고려하여 복잡한 시스템을 역할에 따라 나누어 단순화할 수 있다 2) 캡슐화 : 객체 내부 작동 방식을 노출하지 않고 작업을 수행한다 3) 상속 : 유사한 기능을 가진 코드를 재사용할 수 있다 4) 다형성 : 정해진 규약에 따라 구현된 객체들을 활용하여 유연하고 확장 가능한 코드를 작성할 수 있다 이 부분이 지금 당장 이해되지 않아도 괜찮습니다! 클래스 (Class) 객체의 속성과 기능을 추상화한 것으로 인스턴스 (객체)를 생성할 목적으로 작성해놓은 소스코드 작성단위이다 class Student { // Student의 속성(관리 해야 될 다양한 자료형의 상태값) int studentId; String name; char gender; String..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sCkdw/btsoZobJY1k/XcKbkhK6hL2Rwtt3mAczbk/img.png)
자바의 특징 1) 객체 지향 언어 2) 메모리를 자동으로 관리 3) 멀티 스레드 지원 4) 포인트를 지원하지 않음 자바의 기본 자료형의 개수 : 8개 byte, short, int, long, float, double, char, boolean long 자료형의 접미사 : L 상수 선언 시 사용할 수 있는 키워드: final int intNum = 10; double doubleNum = 3.14; double result = intNum + (int)doubleNum; result 변수 값: 13.0 int num1 = 10; int num2 = 3; int result = num1 % num2; result 변수 값: 1 double dNum = 5.5; int iNum = 7; boolean isT..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bEr0z2/btso8Ace87X/vG8TJCNKKWvucAFleOLKZK/img.png)
배열 동일한 자료형(Data Type)의 묶음 배열은 heap 영역에 new연산자를 통해 할당된다 1차원 배열 int[] arr = new int[5]; 1차원 배열을 선언하고 할당하는 코드이다 변수 arr는 stack에 쌓이고, 배열 공간은 heap에 존재하게 된다 int 배열 값은 기본적으로 0으로 저장된다 for(int i = 0; i < 5; i++) { arr[i] = i * 10; } int 형 5칸의 배열에 각각 값을 대입하는 작업을 반복문을 활용하여 구현할 수 있다 System.out.println(Arrays.toString(arr)); 배열 값을 한번에 출력할 수 있는 코드이다. 즉, [0, 10, 20, 30, 40]가 출력된다 int [] iArr; char cArr[]; Sring..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LBNDJ/btso09dPxrF/tFI3kmsBAiDMWpx4wBRAZ0/img.png)
if - else if 문 if (조건식1) { 수행문; ... } else if(조건식2) { 수행문; ... } else { 수행문; ... } 기본 문법은 다음과 같다 public class Application1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("정수 하나를 입력하세요: "); int num = sc.nextInt(); if (num == 0) { System.out.println("입력하신 숫자는 0 입니다"); } else if (num % 2 == 0){ System.out.println("입력하신 숫자는 짝수입니다"); } else { System.o..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/X5Ntf/btso1t4lIdx/y91oUezJo31Chjg7DaHKw1/img.png)
메소드 (method) 어떤 특정 작업을 수행하기 위한 명령문의 집합 (함수와 비슷하다) 중복되는 코드를 메소드로 만들어 코드의 반복 사용을 피할 수 있다. public static void main(String[] args) { // main method } main() 메소드는 자바 프로그램을 실행 및 종료하는 기능을 지닌다 public class Application1 { public static void main(String[] args) { System.out.println("main() 시작!"); Application1 app1 = new Application1(); app1.methodA(); System.out.println("main() 종료!"); } public void method..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bthLwm/btsowuqjXqa/7XryIeWZm9Ooe8jW6YMo70/img.png)
리터럴(literal) & 변수 리터럴: 변하지 않는 데이터(값) 변수: 값을 담을 수 있는 공간 int age = 30; final int MAX_AGE = 100; String str = "text"; 왼쪽(age)가 변수, 오른쪽(30)이 리터럴이다 RAM이라는 메모리 공간 (유한한 공간)에 변수를 할당할 때 많은 메모리를 차지않도록 담고자 하는 리터럴 크기에 맞는 절절한 타입을 지정해주어야 한다. - 리터럴 실제 코드에서 확인하기 위해서 프로젝트와 클래스를 생성하였다 (https://shine-slowly.tistory.com/12) 여기서 com.greedy.section.leteral의 경우에는 패키지이다. 패키지는 클래스의 모음집이다. 이름이 충돌하는 클래스들이 있을 수 있는데 이럴 때 패키..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qMZ3G/btsovIQA9fw/k0laZ2tS3nTzAFzSuTwTsK/img.png)
1. 프로젝트 새로 만들기 코드를 직접 작성해보실 분들은 샘플 코드 추가를 없애주세요 2. 클래스 추가하기 폴더 src에서 오른쪽 마우스 클릭 하고 New, Java 클래스를 선택해주세요 3. psvm 입력 후 엔터 누르기 (main 메서드) 4. 단축어 sout 사용 또는 System.oyt.printIn("hello"); 입력하기 5. main 메서드 옆에 초록색 화살표 누르기 순서대로 진행하여 간단하게 프로젝트와 클래스 생성 후 Hello world 를 출력해보았습니다