반응형

전체 글 149

Java 접근 제어자 이해하기: public, private, protected, default

객체 지향 프로그래밍 언어인 자바에서, 접근 제어자(access modifier)는 중요한 역할을 합니다. 그것들은 클래스, 메소드, 변수 등의 접근 범위를 정의하며, 이것은 프로그램의 보안과 메모리 관리에 큰 영향을 미칩니다. 이 포스트에서는 네 가지 종류의 접근 제어자 - public, private, protected, 그리고 아무것도 지정하지 않는 경우인 default에 대해 더 깊이 들어가 보겠습니다. 접근 제어자란? 접근 제어자는 이름에서 알 수 있듯이, 클래스, 변수, 메소드 등의 멤버에 대한 접근을 제어하는 역할을 합니다. 이는 데이터를 보호하고 캡슐화를 통해 코드를 더욱 견고하게 만들어주는 객체 지향 프로그래밍의 중요한 요소입니다. 코드의 다른 부분에서 적절하지 않은 방식으로 데이터에 접..

개발/Java 2023.07.18

Java에서 instanceof 연산자

instanceof는 Java에서 제공하는 특별한 키워드로, 주어진 객체가 특정 클래스 혹은 그 서브 클래스의 인스턴스인지를 검사할 때 사용합니다. 이 연산자는 객체 지향 프로그래밍의 다형성 개념과 밀접하게 관련되어 있습니다. instanceof 연산자란? instanceof 연산자는 주어진 객체가 특정 클래스의 인스턴스이거나 그 서브 클래스의 인스턴스인지를 확인하는 데 사용됩니다. 이 연산자의 결과는 불리언 형식으로 반환됩니다. 객체가 해당 클래스 혹은 그 서브 클래스의 인스턴스라면 true를 반환하고, 그렇지 않으면 false를 반환합니다. public class Main { public static void main(String[] args) { String s = "Hello"; if (s ins..

개발/Java 2023.07.18

Java의 다형성: 캐스팅

자바에서 다형성(Polymorphism)은 객체지향 프로그래밍의 특징 중 하나로, 동일한 메소드 호출이 다른 행동을 수행하도록 하는 기능입니다. 이를 가능하게 하는 방법 중 하나가 바로 '캐스팅'입니다. 여기서는 자바의 캐스팅에 대해 알아보고, 업캐스팅과 다운캐스팅을 사용한 예시 코드를 제공하겠습니다. 업캐스팅(Upcasting) 먼저, 업캐스팅에 대해 알아보겠습니다. 업캐스팅은 부모 타입의 참조 변수로 자식 타입의 객체를 다루는 것을 의미합니다. 이를 통해, 부모 클래스 타입의 변수가 자식 클래스 타입의 객체를 참조할 수 있습니다. class Animal { void eat() { System.out.println("먹는다"); } } class Dog extends Animal { void bark(..

개발/Java 2023.07.18

Java에서의 참조변수 배열(클래스 배열)

Java 프로그래밍에서는 여러 개의 객체를 생성하고 관리할 필요가 있을 때 이를 효율적으로 수행할 수 있는 방법 중 하나가 클래스 배열(참조변수 배열)입니다. 이것은 배열 구조를 이용하여 여러 개의 객체를 한번에 선언하고 관리하는 방식으로, 코드의 깔끔함을 유지하고 반복 작업을 줄이는 데 큰 도움이 됩니다. 클래스 배열이란? 클래스 배열은 클래스 타입의 배열을 의미합니다. 배열의 각 요소는 해당 클래스 타입의 객체를 참조하게 됩니다. 예를 들어, Car 클래스의 객체 여러 개를 관리하고 싶을 때, 각각을 따로 선언하는 대신 Car 타입의 배열을 선언하고, 각 요소에 객체를 할당하여 관리할 수 있습니다. 클래스 배열의 선언과 사용 클래스 배열을 선언하는 방법은 기본적으로 다른 배열과 유사합니다. 클래스명과..

개발/Java 2023.07.18

Java에서의 오버로딩, 오버라이딩, 그리고 super()

안녕하세요, 오늘은 자바의 중요한 개념 중 하나인 오버로딩과 오버라이딩, 그리고 super()에 대해서 알아보려고 합니다. 오버로딩(Overloading) 오버로딩은 동일한 이름을 가지면서 매개변수의 유형 및 수가 다른 여러 메서드를 한 클래스 내에 선언하는 기법입니다. 이를 통해 같은 이름의 메소드를 여러 형태로 사용할 수 있게 되어 코드의 가독성과 재사용성이 향상됩니다. 오버로딩 예시: public class OverloadingExample { // 메소드 오버로딩 public void display(int num) { System.out.println("Displaying an integer: " + num); } public void display(String str) { System.out.p..

개발/Java 2023.07.18

Java에서의 클래스 상속

상속은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 한 클래스의 특성을 다른 클래스가 가져다 쓸 수 있게 해주는 매커니즘입니다. 이를 통해 기존에 작성한 코드를 재사용하고 확장할 수 있게 되며, 코드의 유지보수를 용이하게 합니다. Java에서는 extends 키워드를 사용하여 클래스 간 상속 관계를 명시합니다. 예를 들어, "클래스 B가 클래스 A를 상속한다"라고 하면, 클래스 B는 클래스 A의 모든 인스턴스 멤버를 상속받게 됩니다. 이때 클래스 A를 부모클래스, 상위클래스 또는 슈퍼클래스라고 하고, 클래스 B를 자식클래스, 하위클래스 또는 서브클래스라고 합니다. class A {//부모클래스 // 부모클래스의 필드 } class B extends A {//자식 클래스 // 자식 클래스의 필드 } 상속..

개발/Java 2023.07.18

Java에서의 변수 유형 및 static 키워드

자바 프로그래밍에서는 변수를 사용하여 데이터를 저장하고 처리합니다. 이 때, 변수들은 그 선언 위치에 따라 여러 가지 유형으로 구분됩니다. 오늘은 이러한 변수 유형에 대해 알아보고, 특히 static 키워드가 어떤 역할을 하는지 자세히 알아보겠습니다. 변수의 종류 자바에서는 변수의 유형을 아래와 같이 세 가지로 분류합니다. 지역 변수(Local Variable) : 메소드 내부에 선언된 변수로, 해당 메소드 내에서만 사용 가능합니다. 인스턴스 변수(Instance Variable) : 클래스 영역, 즉 메소드 외부에 선언된 변수로, 해당 클래스의 객체에서 사용 가능합니다. 클래스 변수(Class Variable) : 클래스 영역에 선언되면서 static이 붙은 변수로, 모든 객체가 공유합니다. 공통적인 ..

개발/Java 2023.07.17

Java에서의 클래스(Class): 이해와 활용

오늘은 자바에서 핵심적인 요소인 클래스(Class)에 대해 알아보려 합니다. 클래스는 서로 관련된 변수와 메소드를 묶어놓은 '틀'이라고 볼 수 있습니다. 객체지향 프로그래밍의 기본 요소로, 이 클래스의 개념을 이해하는 것은 자바를 학습하는 데 있어서 필수적인 과정입니다. 클래스란? 클래스는 서로 관련있는 변수와 메소드를 묶어 놓은 추상적인 틀입니다. 여러 변수들과 메소드들을 한 번에 관리할 수 있습니다. 예를 들어, '자동차'라는 클래스를 선언하면, 이 클래스 내부에는 '색상', '브랜드', '가격' 등의 변수와 '시동 켜기', '시동 끄기', '클락션 울리기' 등의 메소드가 포함될 수 있습니다. 클래스의 목적 클래스의 목적은 공통 요소를 매번 선언하는 작업을 줄이기 위함입니다. 클래스를 통해 한 번에 ..

개발/Java 2023.07.17

Java에서의 메소드(Method): 이해와 활용

자바를 배우는 데 있어 가장 기본적인 개념 중 하나가 바로 '메소드(Method)'입니다. 이번 포스팅에서는 메소드가 무엇인지, 왜 필요한지 그리고 어떻게 선언하고 사용하는지에 대해 자세히 알아보도록 하겠습니다. 메소드란? 메소드는 자바에서 특정 작업을 수행하는 코드의 집합으로, 재사용 가능한 코드 블록입니다. 이 블록은 특정 작업을 수행하기 위한 코드로, 필요할 때마다 호출하여 사용할 수 있습니다. 메소드는 클래스 내부에 선언되며, 객체 지향 프로그래밍에서 중요한 요소 중 하나입니다. 메소드 목적 메소드의 주요 목적은 코드의 재사용성을 높이고, 프로그램의 구조를 보다 명확하게 만드는 것입니다. 한 번 작성된 메소드는 필요할 때마다 호출하여 사용할 수 있어 코드의 중복을 줄일 수 있습니다. 또한 메소드를..

개발/Java 2023.07.13

Java에서의 배열: 활용

배열은 많은 데이터를 손쉽게 관리할 수 있는 매우 효율적인 데이터 구조입니다. Java에서는 기본적인 배열 사용법 외에도 다양한 방법으로 배열을 활용할 수 있습니다. 이번 포스팅에서는 배열을 사용하는 다양한 방법에 대해 살펴보겠습니다. 배열과 반복문 for문 활용한 배열 순회 배열과 반복문은 거의 항상 같이 따라갑니다. 일단 반복문에서 배열을 사용하기 위해서는 배열의 길이를 알아내야 합니다. 배열의 길이를 알기 위해서는 length 속성을 통해 알 수 있습니다. int length = numbers.length; // 배열의 길이 가져오기 위처럼 알아낸 배열의 길이를 통해 배열의 모든 요소를 순회하며 다음과 같이 for 루프를 사용할 수 있습니다. for (int i = 0; i < numbers.len..

개발/Java 2023.07.13
반응형