분류 전체보기 140

자바의 객체지향 프로그래밍 내부 클래스

내부 클래스 내부 클래스란 쉽게 말해 클래스 안에 선언된 또 다른 클래스이다. 내부 클래스를 이용하면 외부적으로 불필요한 데이터를 감출수 있으며 외부클래스의 멤버들에 쉽게 접근할 수 있어 코드의 복잡성을 줄일 수 있다. 내부 클래스의 종류로는 인스턴스 내부 클래스, 정적 내부 클래스, 지역 내부 클래스, 로컬 내부 클래스가 있다. 종류 선언 위치 사용 가능 변수 인스턴스 내부 클래스(instance inner class) 외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스) 외부 인스턴스 변수, 외부 전역 변수 정적 내부 클래스(static inner class) 외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스) 외부 전역 변수 지역 내부 클래스(local inner class) 외부 클래..

Java/Java 2023.02.25

자바의 객체지향 프로그래밍 기초

타입 스크립트에서 OOP에 대한 내용을 포스팅하였지만 작동원리와 사용법이 조금 달라 다시 작성하게 되었다. 객체지향 프로그래밍 (Object Oriented Programming, OOP) 객체지향 프로그래밍은 어떠한 객체의 속성과 기능을 분석한 후, 이것을 프로그래밍의 변수와 함수로 정의하여 객체를 만들고 이 객체들 간의 상호작용을 이용한 프로그래밍이다. 객체들은 하나의 완전하고 독립적인 기능을 가지기 때문에 코드간의 결합도를 낮춰 그 자체로도 유용하고 코드의 수정 또한 용이한 장점이 있다. 클래스와 객체 클래스란 객체를 정의한 설계도 즉 객체를 찍어내기 위한 공장 같은 개념이다. 클래스는 그저 객체의 속성과 기능을 기술해 놓은 것이며 이에 맞게 객체가 생성된다. 객체는 클래스에서 생성된 제품이라고 할..

Java/Java 2023.02.23

제어문(Control Flow Statements) - (조건문, 반복문)

조건문 (Conditional statement) if문 if(조건식1) else if(조건식2) else return 3 > 2 ? true : false //삼항 조건연산자 괄호 안의 식들을 조건식이라 하며 상위 조건식이 충족될경우 하위 조건식들이 충족되더라도 전체 if문을 종료하며 조건식은 모두 boolean값으로 반환될수 있어야한다. void 메소드를 제외한 모든 메소드들은 if문을 사용할경우 해당 if문에 else 혹은 해당 메소드내의 if문 밖에 return 값이 있어야하며 switch문 또한 해당 switch문에 default 값 혹은 해당 메소드내의 switch문 밖에서 return값이 있어야한다. switch문 String dice = "4"; switch (dice) { case "1"..

Java/Java 2023.02.20

콘솔 입출력 (I/O, Input/Output)

콘솔 출력 작성한 소스코드 내에서 특정한 값을 출력하여 확인할때 사용된다. System.out.println("Hello JAVA"); // 콘솔출력시 제일 많이 사용되며 콘솔에 해당 데이터를 출력하고 자동 줄바꿈이된다. System.out.print("Hello JAVA"); // 콘솔에 해당 데이터를 출력하지만 줄바꿈이 안된다. System.out.printf("Hello %s%n", "JAVA"); // String.format()의 형식으로 출력된다. System.out.printf("string", data) 지시자 출력 포맷 %b 불리언 %d 10진수 %o 8진수 %x, %X 16진수 %c 문자 %s 문자열 %n 줄바꿈 콘솔 입력 import java.util.Scanner; // 해당 프로젝..

Java/Java 2023.02.20

연산자

산술 연산자 사칙연산자와 나머지 연산자를 포함한 연산자이다. 연산자 기능 예시 결과값 + (덧셈 연산자) 두 항의 값을 더한 값을 반환합니다. 7 + 3 10 - (뺄셈 연산자) 좌항의 값에서 우항의 값을 뺀 값을 반환합니다. 7 - 3 4 * (곱셈 연산자) 두 항의 값을 곱한 값을 반환합니다. 7 * 3 21 / (나눗셈 연산자) 좌항을 우항으로 나눈 값을 반환합니다. 7 / 3 2 % (나머지 연산자 또는 모듈로 연산자) 좌항의 값을 우항의 값으로 나눈 나머지를 반환합니다. 7 % 3 1 증감 연산자 변수에 저장된 숫자형 데이터를 1증가시키거나 감소시킨뒤 그값을 재할당 할때 사용한다. ++num;//전위형(prefix) 연산자, 증감 연산을 먼저 수행한후, 그 결과값을 적용시킴 num++;//후위형..

Java/Java 2023.02.20

Java의 유용한 메소드들

이번 포스트에서는 자바에서 사용하는 유용한 메소드들을 포스팅합니다. 정리 목적의 포스트이므로 각 메소드들에 대한 설명은 최소화 하였습니다. Char Character.getNumericValue('1') - 숫자로된 char를 int로 변경 Character.forDigit(5,10) - int를 char로 변경, 첫번째 인자로는 숫자를, 두번째 인자로는 원하는 진법을 입력 Math Math.floor(1.5), (int)Math.floor(1.23) - 실수값을 내림해주며 기본적으로 첫번째 소수값도 같이 리턴해준다. Math.abs(-1) - 음수든 양수든 절대값으로 리턴 Math.sqrt(81) - 제곱근을 구하여 double 형태로 리 String "string1".length() - String,..

Java/Java 2023.02.20

참조 타입(Reference Type) - Java Data Type

문자열 문자열은 String 이란 클래스 타입을 사용한다. String 클래스 타입을 사용하므로써 문자열과 관련된 메서드들을 사용할수 있다. String name1 = "Mason"; // 문자열 리터럴을 String 타입의 변수 name에 할당하는 방법 String name2 = new String("Mason"); // String 클래스의 인스턴스를 생성하는 방법 두가지 방법 모두 리터럴은 큰따옴표(" ")를 감싸 사용하지만 차이점이 존재한다. String name1 = "Mason"; String name2 = "Mason"; String name3 = new String("Mason"); String name4 = new String("Kim Coding"); boolean comparison1..

Java/Java 2023.02.19

기본타입 (Primitive type) - Java Data Type

정수 타입 정수 타입은 숫자를 나타내는 타입으로, byte, short, int, long 이 있으며 각각 차지하는 메모리의 양과 나타낼수 있는 숫자의 범위가 다르다. 과거에는 컴퓨터의 성능이 좋지않아 저장할 데이터의 범위에 맞게 사용하였지만 현재는 보통 int만을 사용한다. 타입 메모리 표현 범위 byte 1byte -128(-27) ~ 127(27 - 1) short 2byte -32,768(-215) ~ 32,767(215 - 1) int 4byte -2,147,483,648(-231) ~ 2,147,483,647(231 - 1) long 8byte -9,223,372,036,854,775,808(-263) ~ 9,223,372,036,854,775,807(263 - 1) byte byteNum =..

Java/Java 2023.02.19

변수와 자바의 데이터 타입

변수 변수란, 값이 변할수 있는 데이터를 임시적으로 저장하기 위한 수단이다. 컴퓨터는 메모리에 데이터를 저장하며 메모리는 메모리 셀들이 모여 만들어진다. 각 메모리셀에는 고유번호인 메모리주소가 붙여있는데, 변수의 선언으로 값을 저장할수 있는 메모리 공간을 확보하고 개발자가 식별하기 쉽도록 이름을 붙일수있다. 이로인해 개발자들은 각 메모리주소를 외운다거나 직접 사용하지 않아도 된다. 또한 선언된 변수에 값을 할당하여 확보한 메모리 공간에 원하는 리터럴(Literal,변수에 할당된 값)을 넣어 데이터를 임시적으로 보관할수 있다. 변수(Variable)와 상수(Constant) 변수의 특징으로는 리터럴을 재할당하여 그 값이 변할수 있으며 이와 반대인 상수는 리터럴을 재할당 할수가 없다. final double..

Java/Java 2023.02.18