JAVA

· JAVA
This this 는 생성된 인스턴스의 메모리 주소를 가진다. public void setYear(int year) { this.year = year // this.year = 인스턴스의 변수, year = 매개 값 } public static void main(String args[]) { BirthDay day = new BirthDay(); day.setYear(2000); } 위와 같은 코드가 실행되면 메인 함수의 args와 day가 스택 메모리를 차지하게 되며 BirthDay 객체의 인스턴스인 day가 힙 메모리에 올라가게 된다. 다음으로 setYear() 메서드가 스택에 올라가게되고 setYear 메서드의 this.year은 힙 메모리에 적재된 BirthDay 인스턴스의 멤버변수를 가리킨다. ..
· JAVA
정보은닉과 캡슐화는 객체지향 프로그래밍에서 중요한 개념 중 하나이다. 이 두 개념은 객체의 응집도와 독립성을 높임으로써 객체의 모듈화를 지향한다. 객체의 모듈화가 잘 이루어져있을 경우 모듈 단위의 재사용이 매우 용이하다. 자바에서는 정보은닉과 캡슐화를 위해 다음과 같은 방법을 사용한다. 캡슐화 (Encapsulation) 캡슐화는 클래스의 구현 세부 정보를 외부에서 숨기고, 오직 public 인터페이스만 노출하는 것을 말한다. 이렇게 함으로써, 클래스의 내부 구현을 변경하더라도 외부 코드에 영향을 미치지 않도록 할 수 있다. public class BankAccount { private int balance; public void setBalance(int balance) { if (balance >= ..
· JAVA
객체 지향 프로그래밍과 함수적 프로그래밍을 혼합함으로써 더욱 효율적인 프로그래밍이 가능하도록 개발 언어가 변하고 있다. 자바 8에서도 함수적 프로그래밍을 위해 람다식을 지원하게 되었다. ✨ 함수적 프로그래밍 (Functional Programming) 함수형 프로그래밍은 거의 모든 것을 순수 함수로 나누어 문제를 해결하는 기법으로, 작은 문제를 해결하기 위한 함수를 작성하여 가독성을 높이고 유지보수를 용이하게 해준다. 람다식? 람다식은 익명 함수(anonymous function)을 생성하기 위한 식이다. 객체 지향 언어보다는 함수지향 언어에 가깝다. 자바에서 람다식을 수용한 이유는 자바 코드가 매우 간결해지고, 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽게 집계할 수 있기 때문이다. 람다식의..
· JAVA
Lombok은 자바 언어의 특정한 기능을 자동으로 생성해주는 라이브러리입니다. 이 문서는 Lombok 라이브러리의 사용 방법과 주요 기능들을 설명합니다. 설치 방법 Lombok은 일반적인 자바 라이브러리처럼, 빌드 도구에서 의존성을 추가하여 사용할 수 있습니다. Maven Maven을 사용하는 경우, pom.xml에 다음 코드를 추가해 주세요. org.projectlombok lombok {버전} provided {버전} 부분에는 사용하고자 하는 Lombok 라이브러리의 버전을 입력해 주세요. Gradle Gradle을 사용하는 경우, build.gradle에 다음 코드를 추가해 주세요. compileOnly 'org.projectlombok:lombok:{버전}' annotationProcessor '..
· JAVA
✅Notion: https://hyunsb.notion.site/Recursion 재귀함수 (Recursion) 함수가 직접 또는 간접적으로 자기 자신을 호출하는 프로세스를 말합니다. hyunsb.notion.site 함수가 직접 또는 간접적으로 자기 자신을 호출하는 프로세스를 말합니다. 재귀함수의 종료지점을 유의하여 구현을 진행하여야 스택오버플로우가 발생하지 않으니 주의하여 구현해야합니다. 재귀함수는 스택프레임을 사용합니다. 💡 스택프레임은 모든 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 완전 소멸한다. 아래는 자연수 N이 입력되면 재귀함수를 이용하여 1부터 N까지 출력하는 프로그램 을 구현한 것입니다. ✅JAVA public static void main(String[] args) { Sc..
· JAVA
✅NOTION: Comparable 인터페이스 Comparable 인터페이스 hyunsb.notion.site Comparable 인터페이스는 객체를 정렬하는 데 사용되는 메소드인 compareTo() 메소드를 정의하고 있습니다. public interface Comparable { /** * Compares this object with the specified object for order. Returns a * negative integer, zero, or a positive integer as this object is less * than, equal to, or greater than the specified object. * * The implementor must ensure * {@co..
· JAVA
문제 - (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. - 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. 입력 - 첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다. 출력 - 첫 번째 줄에 YES, NO를 출력한다. 소스코드 public String solution(String brackets){ int count = 0; for(char bracket : brackets.toCharArray()){ count += (bracket == '(') ? 1 : -1; if(count < 0) return "NO"; } return (count==0) ? "YES" : "NO"; }
hyunsb
'JAVA' 카테고리의 글 목록 (8 Page)