꾸생의 DevLog

꾸생의 DevLog
꾸생의 DevLog

JAVA (9)

Post Thumbnail

[JAVA] 자바 프로그래밍 인터페이스(interface)

인터페이스(interface) 이전에는 코드가 구현하지 않은 메서드를 가지고 있는 추상(abstract) 클래스를 포스팅했다. 다음으로 배울 인터페이스는 모든 메서드가 추상 메서드로만 이루어져있다고 한다. 인터페이스를 어떻게 사용하는지와 인터페이스와 다형성의 관계를 포스팅하겠습니다. 인터페이스란? 인터페이스는 메서드 구현된 코드가 없는 추상 메서드와 상수로만 이루어져 있다. 구현된 코드가 없고 형식적인 선언만 있으므로 인스턴스로 생성이 불가능하다. 설계의 용도로 사용된다. 어떤 클래스가 특정 인터페이스를 사용한다면 그 클래스는 해당 인터페이스의 메서드들을 구현해야 한다. ▶ 인터페이스 생성 인터페이스는 따로 생성할 수 있으나 파일 확장자나 문법적인 변화가 크지 않으므로 기존 클래스에서 'class'를 '..

Post Thumbnail

[JAVA] 자바 랜덤 함수 사용하기

자바 랜덤(Random) 함수 1. Random 클래스 사용하기 ▶사용방법 1. java.util.Random; import 시키기 2. Random 클래스 객체를 생성 3. 정수일 경우 nextInt() 메소드를 사용하여 파라미터에 범위를 지정 nextLong(), nextDouble(), nextBoolean()... import java.util.Random; Random rd = new Random(); int value = 0; for(int i = 0; i < 10; i++) { value = rd.nextInt(10); // 0~9 사이의 랜덤값 System.out.print(value + ", "); } 2. Math.Random() 사용하기 Random() 클래스 처럼 별도로 import..

Post Thumbnail

[JAVA] 자바 프로그래밍 추상 클래스와 템플릿 메서드

추상 클래스와 템플릿 메서드 추상 클래스(abstract class) 추상 클래스는 추상 메서드를 포함하고 있다. 추상 메서드를 선언하는 이유는 자식 클래스가 추상 클래스인 부모 클래스를 상속받아서 사용하게 되는데, 부모 클래스에서 자식 클래스에 사용될 메서드의 코드 구현을 모르기 때문에 메서드 이름만 정의하고 코드 구현은 자식 클래스에서 이루어지는 것이다. 간단하게 말하자면 부모 클래스에서 하위 클래스에게 메서드 코드 작성을 위임했다고 해석하면 된다. 추상 클래스는 객체로 생성할 수 없다. 추상 클래스를 상속받는 하위 클래스는 상위 클래스의 추상 메서드를 구현할 책임이 있다. ▶ 추상 클래스 사용방법 public abstract class Computer { ..

Post Thumbnail

[JAVA] 자바 프로그래밍 상속과 다형성(메소드 오버라이딩)

(2020.12.09) 상속과 다형성 객체 지향 프로그래밍의 중요한 특성 중 하나가 상속(Inheritance)이다. 상속은 단어 그대로 물려받다의 의미이다. 즉 B클래스가 A클래스를 상속받으면 B클래스는 A클래스의 멤버 변수나 메서드를 사용할 수 있다. 상속의 표현 - A클래스가 B클래스에게 상속한다. - B클래스가 A클래스를 상속받는다. * 상속하는 쪽이 상위 클래스이며, 받는 쪽이 하위 클래스이다. * 상속을 표현할 때는 받는 쪽에서 하는 쪽으로 화살표가 향한다. ▶ 클래스 상속 문법 Class B extends A{ //B클래스가 A클래스를 상속받는다. } 자바 문법으로 상속을 구현할 때는 extends 예약어를 사용한다. "class B extends A"는 "B클래스가 A클래스를 상속받는다"라..

Post Thumbnail

[JAVA] 자바 프로그래밍 배열과 다차원 배열 & ArrayList

배열과 다차원 배열 & ArrayList 배열(Array) 동일한 자료형을 가진 다수의 값으로 연속된 메모리 공간을 의미한다. 다수의 값을 한 번에 관리할 수 있어 효율적이다. - 배열 선언과 동시에 초기화할 수 있음 - 배열 초기화 시 배열의 개수는 명시하지 않음 - 초기화 값 없이 선언한 경우 정수는 0, 실수는 0.0, 객체 배열은 null로 초기화됨. ▶ 배열 선언하기 선언방법① 자료형[ ] 배열이름 = new 자료형[개수] int[] arr = new int[10]; 선언방법② 자료형 배열이름[] = new 자료형[개수] int arr[] = new int[10]; ▶ 배열 초기화 배열 초기화 방법 자료형 배열이름[] = new 자료형[] {초기화 값} | | 자료형 배열이름[] = {초기화 값..

Post Thumbnail

[JAVA] 자바 정보은닉, this, 객체 협력, static 변수, 변수 유효범위, 싱글톤 패턴

(2020.12.03) 자바 정보은닉, this, 객체 협력, static, 변수 범위, 싱글톤 정보은닉 클래스나 멤버 변수, 메서드를 만들 때 public 접근 제어자(Access modifier)를 주로 사용해 왔다. public 접근 제어자로 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며 외부 클래스가 사용할 수 있다는 의미이다. 이와 반대로 private 접근 제어자로 선언한 변수나 메서드는 외부 클래스에서 사용할 수 없다. 위 사진처럼 private 예약어를 사용한 name과 age는 외부에서 접근할 수 없으며 이 경우 getter와 setter를 이용하여야 한다. 오른쪽과 같이 setName(), setAge()를 통하여 값을 초기화하며 getName(), getAge()를 통해 값을..

Post Thumbnail

[JAVA] 자바 클래스, 패키지, 메서드, 생성자

(2020.11.27~12.01) 클래스/패키지/메서드/생성자 클래스(Class) 클래스는 객체의 속성과 기능을 코드로 구현한 것으로 객체를 클래스로 구현하는 것을 '클래스를 정의한다'라고 표현한다. (접근제어자) class 클래스 이름 { 멤버변수; 메서드; } 학생의 정보에 해당하는 studentID(학생 아이디), studentName(학생 이름), grade(학년), address(주소)는 멤버변수에 해당하고 학생의 정보를 보여주는 기능인 showInfo()는 메서드에 해당한다. 패키지(Package) 패키지는 클래스 파일의 묶음으로 소스코드를 계층구조의 형태로 나타내고 프로젝트의 소스 코드를 어떻게 관리할지와 연관이 깊다. Student와 Course 등 기본이 되는 클래스를 기반으로 하위의 협..

Post Thumbnail

[JAVA] 자바 프로그래밍 되돌아보기(2020.11.23)

자바 프로그래밍 되돌아보기 객체지향 프로그래밍 : 데이터를 객체로 취급하여 프로그램에 반영한 것으로 순차적으로 동작하는 기존의 프로그램과 다르게 객체와 객체의 상호작용을 통해프로그램이 동작하는 것 객체지향 프로그래밍의 특징 1. 코드의 재사용성이 높다 2. 개발속도 향상 3. 상속을 통한 장점 극대화 자바(JAVA) : 자바는 JVM에서 동작하므로 운영체제에 독립적이다. JVM에서 GC(Garbage Collection)가 자동으로 메모리를 관리해주며, 객체지향 프로그래밍을 위해 여러 언어적 지원을 하고 있다. (캡슐화, 상속, 추상화, 다형성 등) 자바의 단점 : 자바는 한 번의 컴파일로 실행 가능한 기계어가 만들어지지 않고, JVM에 의해서 기계어로 번역된 후 실행하는 과정을 거치기 때문에 기계어보다..

12

새로운 블로그로 이사했습니다. 😆

Home | 꾸생 블로그

프론트엔드 개발 블로그입니다. 사소한 것도 기록합니다 :)

kku.dev