
인터페이스에 대해 알아보자!
2022. 9. 12. 17:47
Language/Java
스프링의 다형성의 장점을 누리기 위해서는 인터페이스에 대해서 잘 알아야해서 인터페이스를 정리해는 시간을 가지려고 한다! 인터페이스란 일종의 추상클래스이다. 하지만 추상클래스보다 추상화 정도가 높아 멤버변수와 일반 메소드를 가질 수 없다.(자바 8부터는 default 키워드를 통해 일반 메소드 구현이 가능하다.) 1️⃣ 인터페이스 정의하는 방법 ‣ 인터페이스를 정의하는 방법은 class 키워드가 아닌 interface 키워드를 이용하여 작성한다. interface Animal { void cry(); void sleep(); } 2️⃣ 인터페이스 구현하는 방법 ‣ 인터페이스를 구현하는 방법은 class 뒤에 implements 인터페이스명 키워드를 활용해 구현한다. ‣ 인터페이스를 구현할 클래스에서는 반드..

자바의 패키지란?
2022. 9. 2. 03:03
Language/Java
1️⃣ package 키워드 ‣ 패키지란, 클래스의 묶음이다. ‣ 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리이다. ‣ 모든 클래스는 반드시 하나의 패키지에 속해야 한다. ‣ 패키지는 점을 구분자로 하여 계층구조로 구성할 수 있다. ‣ 패키지 선언하기 ‣ 패키지 선언문은 반드시 소스파일에서 주석과 공백을 제외한 첫 번째 문장이어야 하며, 하나의 소스파일에 단 한번만 선언될 수 있다. ‣ 자바는 기본적으로 이름없는 패키지를 제공한다package 패키지명; 2️⃣ import 키워드 ‣ 클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다. ‣ im..

자바의 클래스란?
2022. 8. 21. 22:12
Language/Java
1️⃣ 클래스 정의하는 방법 ‣ 클래스는 객체를 정의하는 틀(설계도)이며 상태(변수)와 행위(메소드)를 가져야한다. ‣ 자바에서 클래스는 필드, 생성자, 메소드로 구성된다. public class Foo { // 필드 private String name; private String age; public Foo() { } public Foo(String name, String age) { this.name = name; this.age = age; } public String getName() { return name; } } 2️⃣ 객체 만드는 방법 (new 키워드 이해하기) ‣ 위에서 만든 클래스를 객체로 만들어 사용해야 하는데 이렇게 객체로 만드는 과정을 인스턴스화라고 한다. ‣ 객체는 new 라는 ..

자바의 제어문을 알아보자
2022. 8. 11. 17:51
Language/Java
1️⃣ if문 ‣ 조건문을 테스트해서 조건문이 참이면 if문을 수행하고, 거짓이라면 else문을 실행한다. 조건의 세분화가 필요하다면 else if문을 추가해 조건을 판단한다. ‣ if문의 기본 구조 if (조건문) { ; ; ... } else if(조건문) { ; ; ... } else { ; ; ... } 2️⃣ switch/case문 ‣ if문과 비슷하지만 더 정형화된 조건 판단문이다. ‣ 입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문에 속한 문장들이 실행된다. ‣ case문마다 break 라는 문장이 있는데 해당 case문을 실행 한 뒤 switch문을 빠져나가기 위한 것이다. 만약 break 문이 빠져 있다면 그 다음의 case 문이 실행된다...

자바의 다양한 연산자에 대해 알아보자
2022. 8. 6. 01:09
Language/Java
연산자란? ‣ 연산자는 연산을 수행하는 기호를 말한다. ‣ 연산자 ‣ 연산을 수행하는 기호(+, -, *, / 등) ‣ 피연산자 ‣ 연산자의 작업 대상(변수, 상수, 리터럴, 수식) ‣ 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환한다. 식과 대입연산자(=) ‣ 연산자와 피연산자를 조합하여 계산하고자하는 바를 표현한 것을 식이라고 한다. ‣ 대입연산자 =를 사용해서 변수와 같이 값을 저장할 수 있는 공간에 결과를 저장해야 한다. 비트 연산자(& ㅣ ^ ~ > >>>) ‣ 비트 연산자는 피연산자를 비트단위로 논리 연산한다. ‣ 피연산자로 실수는 허용하지 않는다. ‣ | (OR 연산자) ‣ 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다. 그 외에는 0을 얻는다. ‣ & (AND 연산자..

JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가
2022. 7. 24. 02:02
Language/Java
1️⃣ JVM이란 무엇인가 Java Virtual Machine의 약자로 자바를 실행하기 위한 가상 기계라는 뜻이다 운영체제 위에서 동작하는 프로세스로 자바코드를 컴파일해서 얻은 바이트코드를 해당 운영체제가 이해할 수 있는 기계어로 바꾸어 실행시켜주는 역할 2️⃣ 자바 코드 컴파일하고 실행하는 방법 자바로 작성된 소스를 컴파일하게 되면 javac에 의해 소스의 결과물이 바이트코드로 생성되고 이는 디스크에 저장됨 컴파일 및 실행 과정 javac ClassName.java javac(자바 컴파일러)를 통해 소스파일 컴파일 클래스명과 파일명이 일치해야 한다 콘솔기준으로 에러메시지가 출력되지 않는다면 컴파일 성공 컴파일 결과로 .class 바이트코드가 생성된다 java ClassName 컴파일 결과로 생성된 바..

[자바의신] 8장 - 참조자료형에 대해서 더 자세히 알아봅시다
2021. 10. 11. 18:16
Language/Java
1. 참조자료형 중 유일하게 new 예약어를 사용하지 않아도 되는 자료형은? String (이전 강에서도 말했지만 이 부분은 따로 챕터를 구성할 예정이다) 2. 자바에서는 기본 생성자를 만들지 않아도 자동으로 만들어짐 생성시점은 컴파일할 때 다른 생성자가 없다면 만들어진다. 3. 생성자를 만들 땐 인스턴스 변수 아래, 다른 메소드들 보다는 위에 선언하는 것이 좋다. 그래야 다른 사람이 해당 소스코드를 보더라도 생성자를 찾기 위한 시간을 허비하지 않을 것이다. 4. 생성자는 총 몇 개까지 만들 수 있을까? 생성자의 갯수는 제한이 없다. 하지만 소스 관리의 측면에서 볼 때 생성자가 너무 많으면 관리하기 힘들 것이다. 5. 메소드 오버로딩(Method Overloading) 메소드 오버로딩이란 같은 이름의 메..

[자바의신] 5~7강
2021. 10. 11. 15:15
Language/Java
※ 5~7강은 특별히 정리할 내용이 없고 이미 알고있는 부분이라 통합해서 포스팅합니다. 5강 1. 산술연산자 + : 더하기 연산자 - : 빼기 연산자 * : 곱하기 연산자 / : 나누기 연산자 % : 나머지 연산자 2. 대입연산자 = : 산술연산자와 연계해서 사용가능하다. 3. 단항연산자(피연산자가 하나만 있는 것) + : 단항 플러스 연산자 - : 단항 마이너스 연산자 ++ : 증가 연산자 -- : 감소 연산자 ! : 논리 부정 연산자 4. 비교연산자 ==, != : 등가 비교연산자 = : 대소 비교연산자 5. 논리연산자 && : AND 연산자 || : OR연산자 6. 삼항연산자 (조건) ? true : false 6강 1. switch switch(){ case 1; 처리 break; case 2: ..

[자바의신] 4장 - 정보를 어디에 넣고 싶은데
2021. 10. 10. 19:00
Language/Java
1. 변수 지역변수 : 중괄호 내에서 선언된 변수 매개변수 : 메소드에 넘겨주는 변수 인스턴스변수 : 메소드 밖에, 클래스 안에 선언된 변수(static이라는 예약어가 없어야 함) 클래스변수 : 인스턴수 변수 중 static 예약어를 사용한 변수 2. 변수 이름은 이렇게 길이 제한 없음 보통 $, _로 시작하지 않는다(가능은 함) 첫 문자는 소문자, 두 번째 단어의 첫글자만 대문자 상수는 모두 대문자, 단어 사이는 _ 3. 자료형의 2가지 종류 1) 기본자료형(Primitive Type) 사용자가 임의로 추가할 수 없음 총 8가지의 기본자료형이 있다. 정수형 : byte short int long char 소수형 : float double 기타 : boolean 2) 참조 자료형(Reference Dat..

[자바의신] 3장 - 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요
2021. 10. 8. 11:39
Language/Java
1. 자바는 객체지향언어이다.(Object Oriented Programming) 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. (객체지향에 대한 내용은 중요하기에 따로 챕터를 구성해서 정리할 예정이다) 2. SmartPhone이라는 클래스에 변수와 메소드를 만들어보자. 3. Car 클래스의 speedUp(), breakDown(), getCurrentSpeed() 메소드를 구현해보자. speedUp() 메소드를 호출하면 speed는 5씩 증가한다. breakDown() 메소드를 호출하면 speed는 10씩 감소한다. getCurrentSpeed() 메소드를 호출하면 현재속도를 확인할 수 있다. pu..