[Java 객체지향] 인스턴스와 힙메모리
·
Java & Kotlin
인스턴스 클래스는 객체를 생성하기 위해 속성과 기능을 정의해놓은 코드의 집합이다. 하나의 클래스에서 여러 개의 객체가 생성될 수 있는데 이를 인스턴스라고 한다. 각 인스턴스들은 다른 멤버변수 값을 가진다. 인스턴스는 new 키워드를 이용해 생성한다. 예제 코드 앞에서 짰던 StudentTest 클래스 코드에서 studentLee, studentKim 두개의 인스턴스를 생성했다. 각 인스턴스를 출력해보자 package ch03; public class StudentTest { public static void main(String[] args) { Student studentLee = new Student(); System.out.println(studentLee); Student studentKim = ..
[Java 객체지향] 클래스 생성하고 메서드 구현해보기
·
Java & Kotlin
Student 클래스 생성 package ch03; public class Student { public int studentId; public String studentName; public String address; public void showStudentInfo() { // 학생 인스턴스의 정보를 출력하는 메서드 System.out.println(studentId + " 학번 학생의 이름은 " + studentName + "이고, 주소는 " + address + "입니다."); } public String setStudentName(String name) { // 이름을 매개변수로 입력받아 학생의 이름으로 설정하는 클래스 return studentName = name; } } Main 함수에서 ..
[Java 객체지향] 함수와 메소드
·
Java & Kotlin
함수 기능을 구현하기 위한 일련의 코드 집합 함수로 구현된 기능은 여러 곳에서 호출되어 사용될 수 있다. 기능을 함수로 구현하지 않았을 경우, 오류 발생 시 코드를 일일히 수정해야하는 번거로움이 발생할 수 있다. 함수는 이름, 매개변수, 몸체(body), 반환값으로 구성된다. 함수 이름 앞 타입은 반환값 타입. 반환값이 없다면 void 함수 예제 package ch02; public class FunctionEx { // 두 수를 입력받아 합을 구해 값을 반환하는 함수 public static int add(int num1, int num2) { int result; result = num1 + num2; return result; } // 0부터 100까지 정수 값의 합을 구해 출력하는 함수 publi..
[Java 객체지향] 객체지향 프로그래밍
·
Java & Kotlin
객체 객체는 구체적, 추상적인 데이터의 단위. 문장에서 명사에 해당한다. ex) 회원, 주문, 학생 ... 멤버 변수 선언 시 camel notation으로 표기하는 것이 좋다. (가독성↑) Student 객체 생성을 위한 클래스 public class Student { int studentId; String studentName; int majorCode; String majorName; int grade; } Order 객체 생성을 위한 클래스 public class Order { int orderId; String buyerId; String sellerId; int productId; String orderDate; } UserInfo 객체 생성을 위한 클래스 public class UserInf..
[Java 기초] break문, continue문
·
Java & Kotlin
break문 제어문의 블록을 빠져나오도록 하는 키워드이다. 중첩 반복문의 경우 키워드가 포함된 반복문만 빠져나온다. 1부터 더하여 숫자의 합이 100 이상이 되는 순간의 수와 합을 구하는 프로그램 package ch21; public class BreakTest { public static void main(String[] args) { int sum = 0; int num; for(num=1; ; num++) { // 종결 조건 추가 시 num++ 수행되어 출력됨 sum += num; if (sum >= 100) break; } System.out.println(sum); System.out.println(num); } } continue문 if문과 함께 사용한다. 조건이 true일 경우 반복문 블럭 ..
[Java 기초] 반복문
·
Java & Kotlin
while문 vs do-while문 정수 값을 입력 받아 더하고 '0'이 입력되면 합을 출력하는 프로그램 1) while문 값을 입력 받는 부분이 main 함수와 while문 내에서 필요하다. package ch18; import java.util.*; public class SumInput { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); int input = scanner.nextInt(); // 값 입력 받는 부분 int sum = 0; // 지역 변수 초기화 필요 while (input != 0) { sum += input; input = scanner.nextInt(); // 값 입력 받는 부분..
[Java 기초] switch-case 문
·
Java & Kotlin
- 비교 조건이 특정 값이나 문자열일때 사용 - break문 사용하여 각 조건 만족시 switch 블럭 빠져나오도록 함. * 예제 코드 - 달을 입력 받아 일 수를 출력하는 프로그램 - case 입력 시 가독성을 위해 들여쓰기 해주기 - 같은 조건일 경우에는 case 연달아 써줄 수 있음 - day 변수 초기화 해주지 않으면 오류 발생 import java.util.*; public class SwitchTest { public static void main(String[] args) { int month; Scanner scanner = new Scanner(System.in); month = scanner.nextInt(); int day = 0; switch(month) { case 1: case ..
[Java 기초] 조건 연산자, 비트 연산자
·
Java & Kotlin
조건 연산자 - 조건식 ? 결과1 : 결과2 - 조건식이 참이면 결과1, 조건식이 거짓이면 결과2가 선택된다. - if문을 간단히 표현할 때 활용하기 좋다. * 예제 코드 - 두 수를 입력받아 더 큰 수를 출력하는 프로그램 - Scanner 클래스 활용하여 입력 받기 구현 import java.util.*; public class ConditionTest { public static void main(String[] args) { int max; System.out.println("두 수를 입력하세요."); Scanner scanner = new Scanner(System.in); int num1 = scanner.nextInt(); int num2 = scanner.nextInt(); max = (nu..
[Java 기초] 자료 표현하기
·
Java & Kotlin
변수 - 변수 선언 시 해당되는 자료형의 크기만큼 메모리가 할당된다. - 이때 변수는 할당된 메모리를 가리키는 이름 - 가독성 있는 이름을 사용하는 것이 좋다. camel notation (ex. ns보단 numberOfStudent) 자료형 * 기본 자료형 (Primitive Data type) - 크기 고정 - 정수는 기본적으로 int 타입 - 실수는 기본적으로 double 타입 - long 타입은 숫자 뒤에 'L'을 표시하여 구분 (대문자 사용하여 1과 혼동 막는게 좋음) - float 타입은 숫자 뒤에 'f'를 표시하여 구분 (대소문자 상관X) 정수형 문자형 실수형 논리형 1 byte byte boolean 2 byte short char 4 byte int float 8 byte long dou..