java
-
래퍼클래스 (wrapper) 클래스백엔드/자바 2020. 8. 13. 05:49
래퍼클래스란? 객제지향에선 모든 것을 객체로 다뤄야 한다. 하지만 일부 기본 자료형(primitive type)는 객체가 아니다. 그래서 이러한 기본 자료형을 객체로 다뤄주기 위해서 래퍼 클래스를 사용해야 한다. 미리 입력된 래퍼 클래스를 이용하면 기본 자료형을 객체로서 다룰 수 있다. 우선 예시부터 보면 다음과 같다. public static void main(String[] args) { Integer A1 = new Integer(5); // Integer객체 생성하면서 정수 5 입력 Integer A2 = 5; // Integer 자료형인 참조 변수에 5 저장 Integer A3 = 5; // Integer 자료형인 참조 변수에 5 저장 System.out.println(A1==A2); // fa..
-
java.lang 패키지 - String 클래스 속성백엔드/자바 2020. 8. 12. 15:41
String 클래스 자바를 사용하면서 가장 많이 쓰게 되는 클래스 중 하나로 C언어와 달리 문자열을 쉽게 다룰 수 있게 도와주는 메서드를 가지고 있는 클래스다. String 클래스는 내부적으로 문자형 배열 참조 변수( char[] ) value로 가지고 있다. 참조 변수 value는 String 인스턴스 생성시 입력하는 문자를 문자형 배열의 형태로 저장하게 된다. 설명을 들어선 좀 이상하다면 아래 코드를 보도록 하자. String을 써줄 때는 위와 같은 두 가지 방식으로 선언하게 된다.(물론 첫번째가 압도적으로 많이 쓰인다.) 얼핏보면 우리가 문자열을 통째로 저장하는것처럼 보인다. 하지만 실제로는 위와 같이 문자형 배열의 형태로 인스턴스 변수 value에 저장이 된다. 즉 우리가 String 클래스를 이..
-
클래스의 상속(inheritance)백엔드/자바 2020. 7. 28. 01:23
상속이란? 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 말함. 더 간단히 말해 두 클래스는 부모와 자식 관계로 맺어주는 것을 말함. 상속은 캡슐화, 은닉화와 더불어 객체지향프로그래밍을 구성하는 중요 요소 중 하나. 그림으로 간단히 나타내면 다음과같다. 상속의 장점 클래스 상속은 다음과 같은 특징을 갖는다. - 자식 클래스는 부모 클래스의 모든 멤버(클래스 내 메서드, 변수)를 상속받는다. - 단, 초기화 블록과 생성자는 상속받지 않는다. - 결과적으로 모든 자식 클래스는 부모 클래스보다 같거나 더 많은 멤버를 가진다. - 자손을 아무리 변경해도 조상에 영향을 주지 않는다. 반대로 부모는 자식에게 영향을 준다. - 하나의 부모는 여러 자식 클래스를 거느릴 수 있지만, 반대로 ..
-
객체(object)에 대해서백엔드/자바 2020. 7. 27. 06:52
1. 객체(object)란? 객체는 클래스에서 정의한 내용을 토대로 메모리(실제 저장공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미. 2. 인스턴스란? 객체를 정의한 클래스로부터 객체를 만드는 과정을 인스턴스화(Instantiate). 그리고 이렇게 만들어진 객체를 인스턴스(Instantance)라고 부른다. 3. 객체의 쓰임새 클래스에 정의된 대로 객체를 만들면 이제 이 객체의 특성은 멤버변수를 통해 정해지고 객체는 메서드를 따라서 일정 동작을 수행하면서 프로그램을 돌아가게 만든다. 4. 객체 만들기 객체를 만들기 위해선 new 연산자를 사용해주는데 다음과 같이 만들면 된다. " 사용하려는 클래스 파일명 + 객체명 + = + new + 사용하려는 클래스파일 ..
-
자바 가상 머신 (JVM)에 대해서백엔드/자바 2020. 7. 27. 00:34
자바 가상 머신(JVM)이란? JVM은 Java Virtual Machine의 약자로 자바 가상 머신으로 번역해서 부른다. JVM은 우리가 작성한 소스 코드를 바꾼 자바 바이트 코드를 컴퓨터에서 실행될 수 있게 도와준다. JVM을 통해 어느 OS에서든 자바 바이트 코드를 정상적으로 실행할 수 있다. JVM의 역할 JVM의 역할은 크게 4가지로 나뉜다. 1. Runtime Data Area JVM의 메모리 영역을 뜻하는 말로 JVM은 OS로부터 메모리를 할당 받아 사용한다. 우리가 작성한 코드를 실행할 때 그에 맞는 메모리를 할당하고 관리하는 역할을 한다. 2. Class Loader 소스 코드를 바꾼 자바 바이트 코드를 메모리에 할당할 수 있도록 도와주는 역할을 한다. 3. Execution Engine..
-
자바(java)의 정의와 특징백엔드/자바 2020. 7. 26. 04:06
1. 자바(java)란? 대표적인 객체 지향 언어의 하나로서 썬마이크로시스템즈에서 처음 만들어졌다. 하지만 세월을 거쳐 현재는 오라클에 의해 인수되고 관리되고 있다. "Write once, Run anywhere"라는 모토로 만들어졌는다. 이것은 한번만 쓰면 어디서든 실행이란 뜻으로 이는 JVM을 통해 이뤄지고 있다. 2. 자바(java)의 특징 JVM이라는 자바 가상 머신을 사용한다. JVM덕에 자바는 OS에 종속되지 않고 여러 종류의 OS에서 실행이 가능하다. 하지만 이러한 JVM은 장점도 있지만, 대신 C언어에 비해서 속도면에서 손해를 본다는 단점도 있다.
-
자바(java) 메인 메소드(main method)의 의미백엔드/자바 2020. 7. 21. 16:04
package basic_07; // 패키지 + 패키지명 public class Basic_07_21_03 { public static void main(String[] args) { // public은 access modifier(접근제어자)로서 접근할 수 있는 범위를 나타낸다. // static은 정적이라는 의미로 메소드에 붙이면 정적메소드, 변수에 붙이면 정적 변수 됨 // void는 해당 함수에서 리턴하는 자료형을 뜻하는데 void는 리턴값이 없단 뜻 // void 이외에 다른 숫자를 리턴하는 것으로 쓸 수도 있지만 보통 main에선 void로 쓴다 // (String[] args)은 매개변수 자리로서 문자열을 배열로 줄수 있다는 의미 // 자바에서 커맨드라인에서 실행할 때 매개변수를 지원하기 위..