분류 전체보기
-
[Java] 추상화와 인터페이스IT Study/컴퓨터 기초 2023. 3. 26. 21:10
1. 추상화란? 추상화(abstraction)는 객체지향 프로그래밍의 주요한 개념 중 하나입니다. 사용할 객체의 공통되는 특정(데이터, 기능)을 분리하고 하나의 개념으로 묶어, 이를 다루기 쉽게 만들 수 있습니다. 2. 추상 클래스 추상 클래스(abstract class)는 추상화를 이용한 클래스로, 일반 클래스와 달리 추상 메서드를 포함할 수 있습니다. 여기서 추상 메서드는 구현 내용 없이, 선언만 있는 메서드입니다. 추상 클래스는 추상 메서드를 포함하고 있어, 직접 객체를 생성하여 사용할 수 없습니다. 직접 사용할 수 없기 때문에, 상속을 통해 자식(하위) 클래스에서는 추상 메서드를 반드시 구현하여 사용할 수 있습니다. 2-1. 추상 메서드 선언 방법 abstract 키워드를 붙인다. 선언부만 작성하..
-
[Java] String, StringBuffer, StringBuilderIT Study/컴퓨터 기초 2023. 3. 26. 15:40
오늘은 자바에서 문자열을 다루는 클래스인 String, StringBuffer, StringBuilder에 대해 함께 알아보도록 하겠습니다. 1. String이란? Java에서 문자열을 다루는 클래스로, 불변(immutable)이라는 특징을 가져 한 번 생성된 문자열은 변경할 수 없습니다. 1-1. String 특징 문자열을 저장할 때 문자 배열 char[]을 사용합니다. 따라서 인덱스를 사용해, 각 문자열의 문자에 접근이 가능합니다. 1-2. String 예시 String 클래스에서 주로 사용되는 변수나 메서드를 아래 예시에 작성해뒀습니다. import java.util.Arrays; public class Main { public static void main(String[] args) { // St..
-
[Java] 변수와 메모리IT Study/컴퓨터 기초 2023. 3. 24. 17:42
자바를 배우다보면 변수와 메모리라는 단어를 자주 또 많이 듣게 됩니다. 변수의 개념과 종류, 사용 예시를 확인하고 메모리의 개념과 종류, 사용 예시를 확인해보며 개념을 확실하게 잡고 넘어가겠습니다 ! 1. 변수란? 변수란 값을 저장하는 메모리 공간의 이름을 의미합니다. 메모리 공간을 데이터를 저장할 때 사용되며, 데이터를 읽거나 수정할 수 있습니다. 자바에서는 멤버 변수, 지역 변수, 매개 변수 등의 다양한 종류의 변수를 사용할 수 있습니다. 1-1. 멤버 변수 멤버 변수란 클래스 내에 선언되는 변수로, 객체의 속성을 나타냅니다. 객체가 생성될 때 만들어지며, 객체가 소멸될 때까지 존재합니다. public class Person { Stirng name; // name : 멤버 변수 int age = 9..
-
[Java] next()와 nextLine() 차이와 사용법IT Study/컴퓨터 기초 2023. 3. 24. 10:36
"next 말고 nextLine만 사용하면 안 돼?" "안됩니다.." next()와 nextLine()은 Scanner 클래스에서 사용하는 메서드입니다. 이들을 사용하다보면 어떤 상황에서 어떤 메서드를 사용해야할지 많이 고민됩니다. 이번 블로그 글을 정리하며, 이들의 차이를 정확히 확인하겠습니다. next() 메서드 공백문자(띄어쓰기 " ", 탭 "\t", 개행문자 "\n" 등) 이전의 문자열만 입력받아 처리합니다. nextLine() 메서드 개행문자(\n)를 포함한 문자열 1줄을 입력 받아 처리합니다. 개념만 읽으면 이해가 잘 되지 않을 수도 있으니, 아래의 예시를 보며 확인해봅시다. import java.util.Scanner; public class nextStudy { public static v..
-
[Java] String 클래스의 equals(), ==, = 의 차이점IT Study/컴퓨터 기초 2023. 3. 23. 09:50
String 클래스에서 사용하는 equals와 ==, = 의 차이점에 대해 알아보도록 하겠습니다. equals( ) 메서드 두 개의 객체가 서로 내용이 같은지 비교합니다. 즉, 주소값이 아닌 문자열 자체의 내용이 같은지를 비교하여 true, false를 리턴(반환)합니다. = = 연산자 두 개의 객체가 같은지 비교합니다. 주소값이 같은지, 같은 메모리 주소를 참조하는지 비교하여 true, false를 리턴(반환)합니다. = 연산자 우변의 값을 좌변의 변수에 대입합니다. 아래의 예시를 살펴보며 자세히 확인해보도록 하겠습니다. public class Main { public static void main(String[] args) { String str1 = "hello"; String str2 = "hel..
-
[네이버클라우드 캠프/1주차] 배열 (feat.전화번호부)네이버클라우드 캠프 | BE/Java 과제 2023. 3. 22. 18:19
3/16(목) 네이버크라우드 캠프 5일 차에 배열을 배우며, 배열의 출력에 익숙해진 뒤 전화번호부를 만들어 구동시키는 문제를 받았습니다. 살짝... 쿵... 어려웠지만 생각에 대해 정리해보려고 합니다. (가보자고~!) ❓아래의 클래스를 채워 넣고, 메인이 있는 클래스에서 호출하세요. 클래스 PhoneInfo String[] name = new String [100]; String [] phoneNum = new String [100]; int i = 0; //이름과 번호를 배열에 저장 public void insertPhoneInfo(String name, String number) { } //모든 PhoneInfo 출력 public void printAllPhoneInfo() { } //번호에 해당하는..
-
[네이버클라우드 캠프/1주차] 배열의 출력네이버클라우드 캠프 | BE/Java 과제 2023. 3. 22. 17:55
3/16(목) 네이버클라우드 캠프 5일 차에 풀이한 배열의 출력과 관련된 문제에 대한 풀이를 정리하려고 합니다. 처음에 문제를 잘못 이해했던 터라 정리하는 게 좋을 듯하여.. 글 시작합니다! (애들 수학은 어떻게 가르쳤니..) ❓문제 : 배열을 출력하세요. 20개의 배열을 선언하고, 20개의 값을 난수를 이용하여 0~100까지의 값으로 채워 넣으세요. 인덱스의 홀수번째(1, 3, 5.. 19)는 앞부터 출력하고 인덱스의 짝수번째(0, 2, 4.. 18)는 뒤부터 출력하세요. 문제의 순서대로 따라가면 됩니다! 1. 배열 선언 및 배열 내 난수 값 대입 + 기존 배열 확인하기 public class Main { public static void main(String[] args) { int[] arr = n..
-
[네이버클라우드 캠프/1주차] 트리 모양의 별네이버클라우드 캠프 | BE/Java 과제 2023. 3. 22. 17:07
3/15(수) 네이버클라우드 캠프 4일 차에 풀이한 트리 모양의 별에 대해 풀이를 정리하고자 합니다. 어떻게 접근하는지... 더 쉽게 접근할 수 있는 방법이 있다면 댓글 부탁드립니다 :) ❓문제 : 다음과 같이 출력하세요. 저는 먼저 별들의 나열에서 규칙을 찾고 싶었습니다. 줄마다 띄어쓰기(" ")는 몇 개인지, 별은 몇 개 출력되고 있는지를 찾아 메모장에 정리하였습니다. 1번째 줄 : 띄어쓰기 4개, 별 1개 2번째 줄 : 띄어쓰기 3개, 별 3개 3번째 줄 : 띄어쓰기 2개, 별 5개 4번째 줄 : 띄어쓰기 1개, 별 7개 5번째 줄 : 띄어쓰기 0개, 별 9개 줄의 수가 1씩 증가함에 따라 띄어쓰기는 4부터 0까지 -1씩 감소, 별은 1부터 시작해 2개씩 증가하는 등차수열의 형태를 띠고 있습니다. ..