[Java] 기본형 매개변수와 참조형 매개변수
·
Backend/Java
기본형 매개변수와 참조형 매개변수Java에서는 매서드를 호출할 때 매개변수로 지정한 값을 메서드의 매개변수에 복사해서 넘겨준다. 매개변수의 타입이 기본형일 때는 기본형 값이 복사되겠지만, 참조형이면 인스턴스의 주소가 복사된다.메서드의 매개변수를 기본형으로 선언하면 단순히 저장된 값만 얻지만, 참조형으로 선언하면 값이 저장된 곳의 주소를 알 수 있기 때문에 값을 읽어 오는 것은 물론 값을 변경하는 것도 가능하다. 기본형 매개변수 - 변수의 값을 읽기만 할 수 있다. 참조형 매개변수 - 변수의 값을 읽고 변경할 수 있다.static void change(int x){...} - 기본형 매개변수 change 메서드에서 main 메서드로부터 넘겨받은 d.x의 값을 1000으로 변경했는데도 main메서드에서는 d..
[Java] 인터페이스 상속 실습 문제
·
Backend/Java
1. Customer 클래스이 클래스는 고객의 기본 정보를 저장하는 추상 클래스 이다.abstract class Customer { private String cname; private String city; private int age; // 생성자 public Customer(String cname, String city, int age) { this.cname = cname; this.city = city; this.age = age; } public abstract double applyDiscount(double totalAmount); public String getCname() { return cname;..
[Java] Class 객체 배열
·
Backend/Java
객체 배열많은 수의 객체를 다뤄야 할 때, 배열로 다루면 편리하다.   객체 배열 안에 객체가 저장되는 것은 아니고, 객체의 주소가 저장이 된다. Tv tv1, tv2, tv3 -> Tv[] tvArr = new Tv[3]; 길이가 3인 객체 배열 TvArr을 생성하면, 각 요소는 참조변수의 기본값인 null로 자동 초기화된다. 객체 배열을 생성하는 것은, 객체를 다루기 위한 참조변수들이 만들어진 것일 뿐, 아직 객체가 저장되지 않았다.  Tv[] tvArr = new Tv[3]; //참조변수 배열(객체 배열)을 생성//객체를 생성해서 배열의 각 요소에 저장tvArr[0] = new Tv();tvArr[1] = new Tv();tvArr[2] = new Tv(); 배열의 초기화 블력을 사용하면, 간하게 ..
[Java] Class 란 / 인스턴스란 / 인스턴스의 생성과 사용
·
Backend/Java
객체지향언어코드의 재사용성이 높다.새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.코드의 관리가 용이하다.코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.신뢰성이 높은 프로그래밍을 가능하게 한다.제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.즉, `코드의 재사용성이 높고 유지보수가 용이하다.` 클래스클래스란 ? - 객체를 정의해놓은 것 - 각 객체의 설계도 또는 틀클래스의 정의 클래스란 객체를 정의해 놓은 것클래스의 용도 클래스는 객체를 생성하는데 사용된다.* 프로그래밍에서 객체는 클래스에 정의된 내용대로 메머리에 생성된 것을 뜻함 클래스를 정의하고 클래스를 통해 객..
[Java의 정석] 조건문과 반복문 1️⃣
·
Backend/Java
if, switch조건문은 조건식과 문장을 포함하는 블럭 {}으로 구성되어 있으며, 조건식의 연산결과에 따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다. if문  - '조건식'과 '{}'로 이루어져 있다.  - 만일 (if) 조건식이 참(true)이면 {} 안의 문장들을 수행하라 !if(조건식){ //조건이 참(true)일 때 수행될 문장들을 적는다.} if (score > 60){ System.out.println("합격!");} System.out.println("불합격!");조건식 'score > 60'이 참(true)이면 {} 안의 문장이 수행되어 화면에 '합격!' 라고 출력되고,거짓(false)이면, if문 다음의 문장으로 넘어가 '불합격!'이 화면에 출력된다. 조건식if문에 ..
[Java의 정석] 변수 (Variable) 2️⃣
·
Backend/Java
출력 printf()  - '지시자'를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력하는 기능 int age = 25;System.out.printf("age :",age); //age :25 (출력) %b : boolean 형식으로 출력%d : 10진수 형식으로 출력%o : 8진수 형식으로 출력%x : 16진수 형식으로 출력%c : 문자(char)로 출력%s : 문자열(string)로 출력 입력 Scanner  - 화면으로 입력 받는 방법  -Scanner 을 사용하기 위해 import를 추가해줘야 한다.import java.util.*; 다음, Scanner 클래스의 객체를 생성한다.Scanner sc = new Scanner(System.in); 그리고, nextLine() 메서드를 호출하면,..
[Java의 정석] 변수 (Variable) 1️⃣
·
Backend/Java
변수 (Variable)중요한 프로그래밍 능력 중 하나가 바로 값을 잘 다루는 것이다. 변수란 ?  - 값을 저장할 수 있는 메모리상의 공간  : 저장된 값은 변경될 수 있기 때문에 '변수'라는 수학용어의 정의와 상통하는 면이 있어서 변수라 한다.  - 변수란, 단 하나의 값을 저장할 수 있는 메모리 공간  : 변수에 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다.  변수의 선언과 초기화int age; //age라는 이름의 변수를 선언  - 변수 타입은 변수에 저장될 값이 어떤 타입인지를 지정하는 것이다.  - 저장하고자 하는 값의 종류에 맞게 변수의 타입을 선택해서 적어주면 된다. 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 맞게 알맞은 크기의 저장공간이 확보되고,..
[Java] 메모리 구조
·
Backend/Java
메모리 구조를 공부하는 이유는 ? 1. 같은 기능의 프로그램이더라도 메모리 관리에 따라 성능이 좌우된다. 2. 메모리 관리가 되지 않은 경우 속도저하 현상이나 튕김 현상 등이 일어날 수 있다. 3. 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위함이다. 메모리 - 프로그램을 실행하기 위한 데이터 및 명령어를 저장하는 공간 JAVA 실행구조 프로그램이 실행되기 위해서는 windows나 linux같은 운영체제(OS)가 제어하고 있는 시스템의 리소스의 일부인 메모리(RAM : 주기억장치)를 제어할 수 있어야 한다. JAVA 이전에 C 같은 대부분의 언어로 만들어진 프로그램은 이러한 이유 때문에 OS에 종속되어 실행되게 되어 있었다. JAVA 프로그램은 JVM(Java Virtual Machine :..