본문 바로가기

Backend/Java

(8)
[Java api] Active Directory와 연결방법 (LDAP) Active Directory란? 사용자 정보를 저장하고 관리하는 데이터베이스의 한 유형으로 디렉토리 서비스의 한 유형이다. 친숙한 관계형 데이터베이스(MySQL, OracleDB 등)와 다르게 AD(Active Directory)는 도메인 네임 시스템(DNS)을 기반으로한 디렉토리 구조로 데이터를 저장/관리한다. * 이름을 기준으로 데이터에 손쉽게 접근할 수 있다. example) 저장되는 데이터의 name 예시 - 아래처럼 entry를 ,로 나열한 형태이다. CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM ('Fabrikam company 세일즈 팀 Jeff Smith'의 식별이름) 데이터 접근방식 - LDAP AD의 데이터에 접근하기 위해서는 LDAP 프로토콜을 사용한다...
Anonymous Class (익명 클래스)란? (+ GUI에서의 활용) 상속 개념을 통해 자식 클래스는 인터페이스나 부모 클래스를 구현(or 상속)합니다. 그렇다면 자식클래스는 항상 별도의 클래스로 만들어줘야 할까요? 익명 클래스(Anonymous class)는 이런 궁금증에 대한 답변이 됩니다. Anonymous class는 말그대로 이름 없이 정의된 클래스를 의미하며 선언을 위한 요소와 선언 방법은 다음과 같습니다. The new operator The name of an interface to implement or a class to extend. Parentheses that contain the arguments to a constructor, just like a normal class instance creation expression. Note: When y..
char - int 형변환 살펴보기 이해했다고 생각했지만 코드를 작성하다 Character - Integer 간 형변환 때문에 원하는 결과값이 안나와서 정리하게 되었습니다. 본 내용에 들어가기 앞서, 임의의 숫자를 문자열로 입력받고 특정 위치의 숫자를 활용하여 연산하는 코드를 생각해보겠습니다. 첫번째와 세번째 위치의 숫자를 더한다고 가정했을 때, 문자열의 특정 위치에 있는 문자를 반환하는 charAt(int index)메소드를 떠올릴 수 있습니다. String example = "23456";//입력받은 숫자열 int num1 = example.charAt(0);//첫번째 숫자 int num2 = example.charAt(2);//세번째 숫자 int sum = num1+num2; /* * charAt(int index) : String의..
객체생성 (Creating Objects) // ref: new 연산자 객체지향언어는 현실세계처럼 객체간의 협력 관계를 프로그래밍하는 언어입니다. 객체는 프로그램에서 구현하고자하는 대상이며 클래스는 객체를 위한 설계도로 볼 수 있습니다. 객체는 어떻게 생성할까요?? Example ex = new Example(); 위 문장은 Example 클래스의 객체(인스턴스)를 생성하는 코드이며 아래처럼 해석할 수 있습니다. (Oracle에서 제공하는 Java Documentation 참고) 1. Declaration: The code set in bold are all variable declarations that associate a variable name with an object type. 2. Instantiation: The new keyword is a Java oper..
[OOP] 클래스, 객체, 인스턴스 in Java 순서대로 일어나는 일을 시간순으로 프로그래밍하는 것이 절차지향프로그래밍이라면, 객체지향프로그래밍(Object-Oriented Programming)은 객체를 정의하고 객체 간 협력을 프로그래밍하는 것입니다. 따라서, 객체 지향 프로그래밍을 할 때는 먼저 객체를 정의하고 각 객체가 어떤 기능을 제공하고 객체 간 협력을 어떻게 구현할 것인지를 고민해야 합니다. 이러한 객체지향프로그래밍에서 빼놓을 수 없는 개념이 클래스, 객체, 인스턴스 입니다. (개인적으로 객체와 인스턴스의 개념적 차이를 잘 모르겠습니다....) 클래스 - 객체의 속성과 기능을 코드로 구현 - 객체의 설계도 객체 - 프로그램에서 구현할 대상 인스턴스 - 설계도를 바탕으로 프로그램에서 구현된 구체적인 실체 인스턴스와 객체의 개념은 유사하며 객..
지역변수(local variable) * 기본적으로 변수는 기본형 변수와 참조형 변수로 분류될 수 있습니다. 변수 (variable) 기본형 정수형 byte, short, int, long, char 실수형 float, double 논리형 boolean 참조형 클래스형 String, System, ... etc. 자바에서 변수를 선언하고 사용하지 않았을 때나, 사용하려 했을 때 아래 사진과 같은 경고 및 에러를 종종 확인하였습니다. 'The value of the local variable 변수(var1) is not used' = 지역변수 (변수)의 value는 사용되지 않았습니다. '변수(j) cannot be resolved to a variable' = j는 변수로 사용될 수 없습니다. 왜 선언된 변수를 local variable(지..
상수와 리터럴 상수와 리터럴 둘다 변하지 않는 값을 의미합니다. 그래서 둘을 같은 개념으로 오해하기 쉬우나, 아래처럼 둘은 구분되는 개념입니다. - 상수 : 변수와 마찬가지로 저장할 수 있는 데이터공간을 의미하지만 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없다. - 리터럴 (Literal) : '데이터 값' 그자체를 의미 합니다. (저는 간단히 '상수=변하지 않는 변수', '리터럴 = 데이터 값 그 자체' 로 암기했습니다.) -참고- 상수(constant) 와 리터럴(literal)이란? :: 개발자로 홀로 서기 (tistory.com) 상수(constant) 와 리터럴(literal)이란? 상수(constant)와 리터럴(literal)에 대해 들어본적이 있는가? 만약, 프로그래밍을 어느정도 해왔..
+연산자로 옅보는 똑똑한 Java 책을 보며 혼자공부할 때는 무의식적으로 지나갔지만, 강의에서 '연산자'에 대한 설명을 들으며 자바가 얼마나 똑똑한지 그동안 놓치고 있었음을 느꼈습니다. '+ 연산자'는 두항을 더한다.는 의미를 지니며 저는 단순히 덧셈개념으로만 생각했습니다. 하지만, 아래 그림처럼 정수를 계산하는 코드를 작성할 때, 출력 화면에서 어떤 연산을 하였는지 보여주기 위해서 연산을 표기한 문자열("num1 + num2")과 그 결과값을 나타내는 변수(total)를 +로 묶는 모습을 종종 보았습니다. 물론 이런 형태를 볼 때 마다 따라치기 바빠서 별 생각없이 지나갔습니다. 너무 쉽겠지만 위 그림에서 16, 17행의 결과는 어떻게 나올까요?? . . . . . . . . . . . . . . . . 간단히 훑었을 때 저는 16의 결..