[Java 입문] Static 메서드와 인스턴스 메서드
·
Server/자바의정석
Static 메서드와 인스턴스 메서드 static이 붙어 있으면 클래스 메서드이고 붙어 있지 않으면 인스턴스 메서드이다. 클래스 메서드도 클래스 변수처럼, 객체를 생성하지 않고도 ‘클래스이름.메서드이름(매개변수)’와 같은 식으로 호출이 가능하다. 반면에 인스턴스 메서드는 반드시 객체를 생성해야만 호출할 수 있다. 인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. 그런데 인스턴스 변수는 인스턴스(객체)를 생성해야만 만들어지므로 인스턴스 메서드 역시 인스턴스를 생성해야만 호출할 수 있는 것이다. 반면에 메서드 중에서 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static메서드)로 정..
[Java 입문] 매개변수
·
Server/자바의정석
매개변수 매개변수의 타입이 기본형(primitive type)일 때는 기본형 값이 복사되겠지만, 참조형(reference type)이면 인스턴스의 주소가 복사된다. 기본형 매개변수 : 변수의 값을 읽기만 할 수 있다.(read only) 참조형 매개변수 : 변수의 값을 읽고 변경할 수 있다.(read & write) 기본형 매개변수 change메서드가 호출되면서 ‘d.x’가 change메서드의 매개변수 x에 복사됨 change메서드에서 x의 값을 1000으로 변경 change메서드가 종료되면서 매개변수 x는 스택에서 제거됨 ‘d.x’의 값이 변경된 것이 아니라, change메서드의 매개변수 x의 값이 변경된 것이다. 즉, 원본이 아닌 복사본이 변경된 것이라 원본에는 아무런 영향을 미치지 못한다. 이처럼 ..
[Java 입문] 메서드
·
Server/자바의정석
메서드 ‘메서드(method)’는 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것 메서드는 크게 두 부분, ‘선언부(header, 머리)’와 ‘구현부(body, 몸통)’로 이루어져 있다. 메서드를 정의한다는 것은 선언부와 구현부를 작성하는 것을 뜻하며 다음과 같은 형식으로 메서드를 정의한다. 메서드의 선언부 메서드 선언부는 ‘메서드의 이름’과 ‘매개변수 선언’, 그리고 ‘반환 타입’으로 구성되어 있으며, 메서드가 작업을 수행하기 위해 어떤 값들을 필요로 하고 작업의 결과로 어떤 타입의 값을 반환하는지에 대한 정보를 제공한다. 매개변수 선언 매개변수는 메서드가 작업을 수행하는데 필요한 값들(입력)을 제공받기 위한 것이며, 필요한 값의 개수만큼 변수를 선언하며 각 변수 간의 구분은 쉼표’,’를 사용한다..
[Java 입문] 호출 스택
·
Server/자바의정석
호출 스택 호출 스택은 메서드의 작업에 필요한 메모리 공간을 제공한다 public static void main(String[] args) { System.out.println("Hello"); } 위의 예제를 실행시키면 JVM에 의해서 main메서드가 호출됨으로써 프로그램이 시작된다. 이때, 호출 스택에는 main메서드를 위한 메모리공간이 할당되고 main메서드의 코드가 수행되기 시작한다. main메서드에서 println()를 호출한 상태이다. 아직 main메서드가 끝난 것은 아니므로 main메서드는 호출스택에 대기상태로 남아있고 println()의 수행이 시작된다. println메서드에 의해 ‘Hello’가 화면에 출력된다. println메서드의 수행이 완료되어 호출 스택에서 사라지고 자신을 호출한 ..
[Java 입문] 클래스와 객체
·
Server/자바의정석
객체지향 언어의 특징 코드의 재사용성이 높다. 새로운 코드를 성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 코드의 관리가 용이하다. 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 클래스와 객체 클래스의 정의 : 클래스란 객체를 정의해 놓은 것. 클래스의 용도 : 클래스는 객체를 생성하는 데 사용 객체의 정의 : 실제로 존재하는 것, 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 : 책상, 의자, 자동차, TV와 같은 사물 무형의 객체 : 수학..
[Java 입문] 다차원 배열(multi-dimensional)
·
Server/자바의정석
2차원 배열의 선언 메모리의 용량이 허용하는 한, 차원의 제한은 없지만, 주로 1,2차원 배열이 사용되므로 2차원 배열만 잘 이해하고 나면 3차원 이상의 배열도 어렵지 않게 다룰 수 있다. 선언 방법 선언 예 타입[][] 변수이름; int[][] score; 타입 변수이름[][]; int score[][]; 타입[] 변수이름[]; int[] score[]; int[][] score = new int[4][3]; // 4행 3열의 2차원 배열을 생성한다. 2차원 배열의 인덱스 2차원 배열은 행(row)과 열(column)로 구성되어 있기 때문에 index도 행과 열에 각각 하나씩 존재한다. ‘행 index’의 범위는 ‘0~행의 길이-1’이고 ‘열 index’의 범위는 ‘0~열의 길이-1’이다. 그리고 2차..
[Java 입문] 배열(Array)
·
Server/자바의정석
배열 “배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것” 중요한 것은 “같은 타입”이어야 한다는 것이며, 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. int score1, score2, score3, score4, score5 // 위의 코드를 아래과 같이 변경할 수 있다. int[] score = new int[5]; // 5개의 int 값을 저장할 수 있는 배열을 생성한다. 배열의 생성 배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조 변수를 위한 공간이 만들어질 뿐이고, 배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다. 배열을 생성하기 위해서는 연산자 ‘new’와 함께 배열의 타입과 길이를 지정해 주어야 한다. 타입[] 변수이름; // 배열을 ..
[MockMvc] Could not autowire. No beans of 'MockMvc' type found
·
Server/Error
@Autowired private MockMvc mockMvc; 해당 코드를 입력했을 때 bean을 찾지 못하는 에러가 발생했다. 인텔리 제이 업데이트를 진행시켰더니 해결되었다. Can't Autowired MockMvc using @WebMvcTest I'm trying to test my REST Controller in my Spring Boot application. This is my test class import com.binar.kelompok3.secondhand.repository.OffersRepository; import org.springframework.beans.factory. stackoverflow.com
코드플리
'Server' 카테고리의 글 목록 (20 Page)