응애개발자
article thumbnail
[Java] 접근 제어자
Language/Java 2023. 12. 26. 12:09

1. 접근 제어자 이해 자바는 public, private 같은 접근 제어자를 제공합니다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있습니다. 이런 접근제어자가 왜 필요한지 예시를 통해 이유를 알아보겠습니다. 예시) 제가 만약 스피커를 만드는 SW개발자라고 하겠습니다. 또한 스피커의 음량은 절대 100을 넘으면 안되는 요구사항이 있다고 가정하겠습니다. (100을 넘어가면 스피커의 부품들이 고장난다.) 요구사항 스피커 객체 만들기 스피커는 음량을 높이고, 내리고, 현재 음량 확인 기능이 존재한다. 스피커의 음량은 최대 100까지만 증가할 수 있다. 초과 불가. Speaker package access; public class Speaker { i..

article thumbnail
[Java] 패키지
Language/Java 2023. 12. 18. 22:35

1. 패키지 1-1. 패키지 개요 여러분이 만약 쇼핑몰 시스템을 개발한다고 가정해보겠습니다. 처음에는 프로그램이 매우 작고 단순해서 클래스가 몇게 없다면 고민할 거리가 없겠지만, 기능이 점점 추가되어서 프로그램이 점점 커지게 된다면 관련 있는 기능들을 분류해서 관리하고 싶을 것입니다. 컴퓨터는 보통 파일을 분류하기 위해 폴더, 디렉토리라는 개념을 사용합니다. 자바도 이런 개념을 제공하는데, 이것이 바로 패키지입니다. 1-1-1. 패키지 사용 패키지는 패키지를 먼저 만들고 그 다음에 클래스를 만들어야 합니다. 패키지의 자세한 내용은 예시 코드를 통해 말씀드리겠습니다. 먼저 pack 패키지에 Data클래스를 만들어보겠습니다. package pack; public class Data { public Data(..

article thumbnail
[Java] 생성자
Language/Java 2023. 12. 18. 17:32

1. 생성자 1-1. 생성자가 필요한 이유 객체를 생성하는 시점에 어떤 작업을 하고 싶다면 생성자(Constructor)를 이용하면 됩니다. 밑에서 간단한 코드로 설명드리겠습니다. 전체 코드 package construct; public class MemberInit { String name; int age; int grade; } package construct; public class MethodInitMain1 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); member1.name = "user1"; member1.age = 15; member1.grade = 90; MemberInit member2 ..

article thumbnail
[Java] 절차지향, 객체 지향 프로그래밍
Language/Java 2023. 12. 17. 22:00

1. 절차 지향 프로그래밍 프로그래밍 방식은 크게 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눌 수 있습니다. 절차 지향 프로그래밍 절차 지향 프로그래밍은 이름 그대로 절차를 지향합니다. 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식입니다. 절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식입니다. 즉, "어떻게"를 중심으로 프로그래밍합니다. 객체 지향 프로그래밍 객체 지향 프로그래밍은 이름 그대로 객체를 지향합니다. 쉽게 이야기해서 객체를 중요하게 생각하는 방식입니다. 객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식입니다. 즉, "무엇을" 중심으로 프로그래밍합니다. 절차 지향은 데이터와 해당 ..

article thumbnail
[Java] 변수와 초기화
Language/Java 2023. 12. 17. 20:20

1. 변수와 초기화 1-1. 변수의 종류 멤버 변수 (필드) : 클래스에 선언 지역 변수 : 메서드에 선언, 매개변수(파라미터)도 지역 변수의 한 종류입니다. 지역 변수는 이름 그대로 특정 지역에서만 사용되는 변수라는 뜻입니다. 멤버변수(필드) 예시 코드 package class1; public class Student { String name; int age; int grade; } name, age, grade 는 멤버 변수입니다. 지역 변수 예시 코드 1 package class1; public class ClassStart3 { public static void main(String[] args) { Student student1; student1 = new Student(); Student st..

article thumbnail
[Java] 인자, 매개변수
Language/Java 2023. 12. 14. 15:46

예제 코드 public class Sample { public static void main(String[] args) { System.out.println(sum(1,3)); } public static int sum(int a, int b) { return a+b; } } 1. 인자 (Argument) 인자는 메서드, 생성자를 호출할때 데이터를 매개변수에 값을 전달해줍니다. 예제 코드 System.out.println(sum(1,3)); 여기서 1, 3 이 인자입니다. 2. 매개변수 (Parameter) 매개변수는 메서드, 생성자를 선언할 때, 어떤 형태로 데이터값이 들어올지 정의해줍니다. 예제 코드 public static int sum(int a, int b) { return a+b; } 여기서 ..

article thumbnail
[Java] 기본형과 참조형
Language/Java 2023. 12. 13. 17:43

1. 기본형, 참조형 - 개념 변수의 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있습니다. 사용하는 값을 변수에 직접 넣을 수 있는 기본형, 그리고 이전 글에서 나온 Student student1과 같이 객체가 저장된 메모리의 위치를 가리키는 참조값을 넣을 수 있는 참조형으로 분류할 수 있습니다. 기본형 (Primitive Type) : int, long, double, boolean처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입을 기본형이라고 합니다. 참조형 (Reference Type) : Student student1, int[] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라고 합니다. 참조형은 객체 또는 배열에 사용됩니다...

article thumbnail
[Java] 클래스, 객체, 인스턴스
Language/Java 2023. 12. 11. 21:09

1. 클래스가 필요한 이유 코드를 통해 살펴보겠습니다. 1-1. 변수 사용하기 package class1; public class ClassStart1 { public static void main(String[] args) { //학생 1 String student1Name = "학생1"; int student1Age = 15; int student1Grade = 90; //학생 2 String student2Name = "학생2"; int student2Age = 16; int student2Grade = 80; //출력 System.out.println("이름:" + student1Name + " 나이:" + student1Age + " 성적:" + student1Grade); System.out...