blue-dot의 등록된 링크

키자드에 등록된 총 180개의 포스트를 확인하실 수 있습니다.

Tistory

자바 기초 공부 일지 37. 제네릭generic 메소드

제네릭 메소드 클래스 전부가 아닌 메소드 하나에 대해 제네릭을 정의합니다. 메소드의 선언부에 타입 변수를 사용한 메소드를 의미하며, 메소드 선언부에서 반환 타입 바로 앞에 위치합니다. public static void sort( ... ) { ... } class BoxFactory { public static Box makeBox(T o) { Box box = new Box(); // 상자를 생성하고, box.set(o); // 전달된 인스턴스를 상자에 담아서, return box; // 상자를 반환한다. } } Box sBox = BoxFactory.makeBox("Sweet"); Box dBox = BoxFactory.makeBox(7.59); // 7.59에 대해 오토 박싱 진행됨 Box sB..

Tistory

자바 기초 공부 일지 32. BigInteger 클래스, BigDecimal 클래스, Math 클래스

BigInteger () 클래스 바이트형 정수는 비트가 8개입니다. 그 중 맨 왼쪽은 부호 비트이므로 나머지 7개가 숫자를 결정합니다. 그러므로 바이트로 표현할 수 있는 숫자는 127입니다. (최댓값) https://blue-dot.tistory.com/39?category=975496 자바 기초 공부 일지 3. 자바 변수 선언하기, 정수의 표현 방법(2진법 표현식) 자바는 변수를 선언할 때 변수의 이름과 용도를 같이 선언해야 합니다. ex) int num1; 최초로 변수를 만들 때 어떤 역할을 할지 적어주어야 합니다. (변수의 선언) int num1; // 변수 num1의 선언 num1 = blue-dot.tistory.com package day17; import java.math.BigInt..

Tistory

자바 기초 공부 일지 33. 난수(Random)

난수란 정의된 범위 내에서 무작위로 추출된 수입니다. 다음에 무슨 수가 나올지 알 수 없는 수, 즉 랜덤Random 수를 난수라고 합니다. 난수를 생성하는 구문은 다음과 같습니다. Random rand = new Random(); 각 랜덤 기능별 키워드는 다음과 같습니다. public boolean nextBoolean() boolean형 난수 반환 public int nextInt() int형 난수 반환 public long nextLong() long형 난수 반환 public int nextInt(int bound) 0 이상 bound 미만 범위의 int형 난수 반환 public float nextFloat() 0.0 이상 1.0 미만의 float형 난수 반환 public double nextDoub..

Tistory

자바 기초 예제 문제 7. 랜덤 숫자 맞추기 게임

1~50까지의 범위 중 랜덤 숫자 하나를 맞추는 게임을 작성해보겠습니다. 기회는 10번까지 주어지며, 정해진 숫자가 업인지 다운인지를 확인할 수 있도록 할게요. Random 난수와 while 조건문, if 조건문, Scanner 클래스를 활용합니다. package day17; import java.util.Random; import java.util.Scanner; /* * 직접 키보드 입력으로 숫자를 추측하는 작업을 맞출 때까지 반복하기. * 단 10번의 기회가 주어지며, 10번 시도하고도 못 맞추면 그때 반복이 끝난다. * 업다운을 알려주는 기능을 포함한다. */ public class Quiz03 { public static void main(String[] args) { Random rn = ne..

Tistory

자바 기초 공부 일지 34. 문자열 토큰

파이썬에서 문자열을 구분하는 방법으로 split()함수가 있었습니다. https://blue-dot.tistory.com/12 파이썬 공부일지 9. 숫자 · 문자열 함수! 수업은 끝났으나 자습이 남아 있습니다. 8시간 내리 수업을 듣는 것보다, 지금까지 들었던 수업들을 정리할 수 있는 시간이 있다는 것이 얼마나 감사한 일인지 모르겠어요. 누군가에게 배우는 blue-dot.tistory.com 자바에서도 동일한 역할을 하는 문자열 토큰이라는 기능이 있는데, 문자열에서 기준자가 되는 것을 기준으로 슬라이싱 하는 (문자열을 나누는) 기능입니다.ㅜ PM:08:45 이 문자열이 있을 때 문자열의 구분자가 : 콜론 일 경우 토큰은 다음 세 가지입니다. PM 08 45 위와 같이 토큰을 나누는 방법으로는 자바의 유틸..

Tistory

자바 기초 예제문제 6. equals() 메소드를 오버라이딩 해서 좌표 비교 (공부중)

x, y 좌표를 나타내는 Point 인스턴스 간의 좌표값 비교를 위해 equals 메소드를 오버라이딩 해보고, main에서 직접 실행 결과까지 확인해보기 package day17; /* * x, y 좌표를 나타내는 Point 인스턴스 간의 좌표값 비교를 위해 * equals 메소드를 오버라이딩 해보고, main에서 직접 실행 결과까지 확인해보기 */ class Point{ int x; int y; Point(int x, int y){ this.x = x; this.y = y; } @Override public boolean equals(Object obj) { Point compare = (Point)obj; if(this.x == compare.x && this.y == compare.y) { retu..

Tistory

자바 기초 공부 일지 30. clone 메소드

Obejct 클래스에는 clone() 메소드가 정의되어 있습니다. clone 메소드는 해당하는 객체의 모든 필드를 복사하여 새로운 객체에 넣어 반환하는 동작을 수행합니다. 즉, 대상을 똑같이 만들어주는 기능입니다. 여기에는 의무사항이 있는데, clone 메소드의 호출을 허용하려면 Cloneable 인터페이스를 구현해야 합니다. class Point implements Cloneable { // 복사할 수 있는 Point 클래스 생성 private int xPos; // 변수 xpos; 선언 private int yPos; // 변수 ypos; 선언 이렇게 클론 메소드의 호출을 허용하려는 클래스에는 Clonable 인터페이스를 구현해야 합니다. protected native Object clone() th..

Tistory

자바 기초 공부 일지 31. 래퍼 클래스, Number 클래스

래퍼 클래스 class UseWrapperClass { public static void showData(Object obj) { System.out.println(obj); } 상기의 코드를 보면 클래스 안에 인스턴스를 요구하는 메소드가 있습니다. 이 메소드의 인수 타입 중 Object 타입은 int, float 등 과는 다른 타입이기 때문에 이 메소드를 통해서 정수 혹은 실수를 출력하려면 해당 값을 인스턴스화 해야 합니다. public static void main(String[] args) { Integer iInst = new Integer(3); // 기본 자료형을 감싸는 클래스 래퍼 클래스 showData(iInst); showData(new Double(7.15)); // 기본 자료형을 ..

Tistory

자바 기초 공부 일지 27. 추상 클래스

추상 클래스란 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드입니다. 추상 클래스 만들 때의 조건은 하나 이상의 추상 메소드를 포함시키는 것입니다. 즉, 추상 메소드를 하나 이상 포함하는 클래스가 추상클래스입니다. abstract class Tree{ abstract void makeFruit(); } - 추상 클래스 : 추상 메소드를 하나 이상 포함하는 클래스, 클래스의 앞에도 abstract 를 작성해주어야 합니다. - 추상 메소드 : 몸통이 없고, 앞에는 abstract가 붙는 메소드 입니다. 추상 클래스도 참조 변수를 만들지만, 인스턴스 생성은 불가합니다. 추상 클래스는 일반 메소드도 자유롭게 추가할 수 있습니다. 인터페이스 변수는 정적인 상수이나, 추상 클래스 변수는 그냥 변수입니..

Tistory

자바 기초 공부 일지 28. 예외의 처리 try~catch 구문

파이썬에서 exception 처럼, 자바에서 예외의 상황을 차리 하기 위한 클래스가 있습니다. https://blue-dot.tistory.com/28 파이썬 공부 요약 노트 4. 예외, 오류 오류의 종류 - 구문 오류 : 문법이 잘못 되어서 실행할 수 없는 문제 -> 코드를 다시 써야 해결 된다. - 실행 예외 : 문법은 맞지만 논리가 잘못 되어서 실행할 수 없는 문제 -> 예외. 앞뒤로 코드 blue-dot.tistory.com 우선 자바에서 예외를 알리기 위한 클래스가 다음과 같습니다. java.lang.ArithmeticException 수학 연산에서의 오류 상황을 의미하는 예외 클래스 java.util.InputMismatchException 클래스 Scanner를 통한 값의 입력에서의 오류..

Tistory

자바 기초 공부 일지 29. 자바 가상머신의 메모리 할당

운영체제 입장에서 자바 가상머신은 일반프로그램과 동일한 프로그램 중 하나이므로 자바 프로그램이 두 개 실행되면, 가상머신도 두 개가 실행 됩니다. 각 가상머신마다 운영체제가 메모리를 할당합니다. 자바는 해당 메모리를 효율적으로 관리하기 위해 영역을 나눕니다. - 메소드 영역 (Method Area) - 메소드의 바이트코드, static 변수 - 스택 영역 (Stack Area) - 지역변수, 매개변수 - 힙 영역 (Heap Area) - 인스턴스 - 코드 영역(Code Area) - 실행할 프로그램의 코드가 저장되는 영역, 텍스트 영역 각 영역을 자세하게 살펴볼게요. 메소드 영역 class Boy { static int average = 0; public void Run() {....} } class..

Tistory

자바 복습. 인터페이스

인터페이스 : 어떤 객체를 만들고 싶은지, 혹은 만들어야 하는지에 대한 약속 추상메소드 : 몸통없이 선언부만 있는 메소드로, 사용할 수 없는 미완성 상태의 메소드 interface CAT{ void eating(); void sleeping(); } 나중에 이것으로 코드를 만들 것이라는 준비과정. 구현하기 위한 틀. interface Cat{ String species = "고양이과"; void eating(); void sleeping(); } 인터페이스 내의 추상메소드 : public abstrack 메소드 이다. 따로 작성하지 않아도 컴파일러에 의한 자동 처리. 인터페이스 내의 변수 : public static final 변수. 즉 상수이다. 따로 작성하지 않아도 컴파일러에 의한 자동 처리. S..

Tistory

자바 기초 예제문제 5. 상속 기반으로 인맥 관리 프로그램 관리 대상 묶기

대학 동창과 직장동료의 이름, 전공(부서), 전화번호 정보를 저장하고 관리하는 프로그램을 만들 때 상속을 기반으로 중복되는 클래스 메소드들을 클래스 상속관계로 묶는 것을 예제로 만들어보겠습니다. ex) 이름 : ㅇㅇㅇ 전공 : ㅇㅇㅇㅇㅇ 전화 : 000 - 0000 - 0000 이름 : ㅇㅇㅇ 부서 : ㅇㅇㅇㅇ 전화 : 000 - 0000 - 0000 우선 처음은 단순하게 관리 대상이 둘 이므로 두 개의 클래스를 정의하는 것부터 해볼게요. 먼저 대학 동창 목록을 정의하는 클래스입니다. class UnivFriend{// 대학 동창 목록 private String name;// 이름 문자열 선언 private String major; // 전공 문자열 선언 private String phone; // 전화..

Tistory

자바 기초 공부 일지 25. Object 클래스, final 선언, @Override 오버 라이딩

모든 클래스들은 Object 클래스를 상속합니다. 만약 상속을 하는 클래스가 없다면 자동적으로 컴파일이 java.lang.Object 클래스를 상속한 것으로 인식합니다. ex) class MyClass extends Object {...} 내가 작성한 클래스가 어떤 클래스를 상속하고 있는지 확인하기 위해서는 Source -> Override / Implement Mathods 탭을 클릭하시면 확인할 수 있습니다. 상속하고 있는 클래스들의 목록이 뜹니다. Object를 상시 상속하고 있는 것을 확인할 수 있습니다. tip) 여기서 사용하고 싶은 것들을 클릭하면 오버라이드 할 수 있는 형태들이 자동으로 양식 완성 됩니다. ok를 누르면 출력 화면에서 확인할 수 있습니다. 만약 클래스가 다른 클래스를 상속한다..

Tistory

자바 기초 공부 일지 26. 인터페이스interface , 구현implements

인터페이스 : 규약, 접점 user interface (UI) 유저 인터페이스는 결구구 사용자에게 제공하는 규약이자 접점 입니다. 사용자가 그것을 통해서 접근할 수 있는 접점입니다. 자바에서 인터페이스는 추상 메소드를 담고 있는 블록입니다. 추상 메소드란 몸통이 없는 블록입니다. 즉 메소드의 몸체 없이 선언부분만 있는 메소드이며, 그로인해 인스턴스를 만들 수 없고 참조 변수 선언만 가능한 메소드입니다. 인터페이스 클래스는 interface 키워드를 사용해서 접근하며, 다음과 같이 선언합니다. 접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; ... public abstract 메소드이름(매개변수목록); ... } 인터페이스 클래스 또한 클래스이지..

Tistory

자바 기초 공부 일지 23. 클래스 상속과 생성자

상속은 가지고 있는 것을 물려주는 것입니다. 자바에서 상속은 클래스가 가지고 있는 데이터와 기능을 주는 문법입니다. 이것은 클래스 안에 있는 코드의 재활용이라기 보다는 연관된 일련의 클래스들에 대해서 공통적인 규약을 정의한다는 것입니다. 상속의 대상이 되는 클래스 = 상위 클래스, 기초 클래스, 부모 클래스, 슈퍼 클래스 상속을 하는 클래스 = 하위 클래스, 유도 클래스, 자식 클래스, 서브 클래스 class Man { String name; public void tellYourName() { System.out.println("My name is " + name); } } Man 클래스를 만들었습니다. tellYourName() 이라는 메소드 멤버가 있습니다. class BusinessMan ext..

Tistory

자바 기초 공부 일지 24. 메소드 오버라이딩, instanceof 연산자

용어가 비슷하지만 다른 기능 중에 메소드 오버로딩이 있었어요. 이거랑 메소드 오버라이딩의 차이점을 먼저 확인할게요. https://blue-dot.tistory.com/57 자바 기초 공부 일지 15. 메소드 오버로딩, this 참조 변수 메소드 오버로딩이란 같은 이름의 메소드를 중복으로 만들 때를 의미합니다. 자바에서 한 클래스에 같은 이름의 메소드를 두 개 이상 받을 수 없지만, 매개변수의 개수 혹은 타입을 다르게 blue-dot.tistory.com 메소드 오버로딩 반환형이고 이름이 같을 때, 그러나 매개변수가 다를 경우. 호출 시에 전달 인자를 보고 사용할 메소드를 최종적으로 결정하는 것입니다. 즉, 여러 메소드를 하나의 이름으로 정의하는 것이었습니다. 메소드 오버라이딩은 반환형, 이름, 매개..

Tistory

자바 기초 예제문제 4. 입력한 문자열 비교해서 비교 결과 출력하기

바로 직전에 Scanner 입력 콘솔에 대해서 배웠으니, 그것을 활용한 예제를 하나만 작성해보겠습니다. https://blue-dot.tistory.com/62?category=975496 자바 기초 공부 일지 19. 콘솔 입력(Scanner 클래스) 이전에 파이썬에서는 변수에 입력을 할 때 입력 콘솔로 input() 을 사용했습니다. https://blue-dot.tistory.com/9 파이썬 공부일지 7. 변수와 입력! 변수는 변할 수 있는 모든 자료를 의미합니다. 모든 자료 blue-dot.tistory.com 고정된 문자열의 값을 정해놓고, 내가 입력으로 받은 문자열이 같은지 다른지를 비교하고 그 비교 결과가 같으면 '같다' 아니면 '다르다'라고 출력하는 코드를 작성해볼게요. 우선 스캐너로 입력..

Tistory

자바 기초 공부 일지 20. 1차원 배열, int [] 배열, 배열의 디폴트 초기화 (수정중)

배열은 자료의 구조 중 하나로, 동일한 타입의 데이터를 연속적으로 저장하여 하나의 변수 속에 묶어서 관리하는 자료 구조 입니다. 파이썬의 리스트라고 생각하시면 좋을 것 같아요. 배열의 자료는 기본 자료를 토대로 만드는 참조 자료입니다. int [ ] ref = new int [5]; 길이가 5개 짜리의 배열을 int 자료형으로 참조한다는 뜻이에요. int [ ] -> int 형으로 이루어진 배열을 참조한다는 의미입니다. int 형 배열은 그 자체가 객체 입니다. 배열을 만들 때에는 칸수를 정해서 만들기 때문에 최초 선언한 값으로 고정됩니다. 예제를 보면 보다 더 쉽게 알 수 있습니다. int [ ] ref = new int [5]; ref[0] = 7; // 값의 저장 : 첫 번째 요소 ref[1] = ..

Tistory

자바 기초 공부 일지 21. enhanced for문 (for - each 문)

이전에 배운 배열에서 배열의 요소에 순차적으로 접근할 때 사용할 수 있는 구문입니다. for-each 문을 사용하기 전에 for문을 통해 순차적으로 접근하는 것을 해볼게요. int[] ar = {1, 2, 3, 4, 5}; for(int i = 0; i < ar.length; i++) { System.out.println(ar[i]); } int[] ar = {1, 2, 3, 4, 5}; // int [] 배열 ar에 각 요소 1, 2, 3, 4, 5를 넣어주고 for(int i = 0; i < ar.length; i++) { // int 를 배열의 길이만큼(5만큼) 반복해줍니다. System.out.println(ar[i]); // 그리고 그 요소들을 하나씩 출력합니다. } 각 요소에 한 번씩 접근했습..

Tistory

자바 기초 공부 일지 22. 2차원 배열, 2차원 배열 초기화

2차원 배열에 대해서 알아볼게요. 앞서 배운 1차원 배열은 아래와 같이 생겼습니다. 딱 일렬로 세워진 배열이에요. int[] arr1 = new int[4] 그리고 2차원 배열은 이렇게 행과 열로 구성되어 있습니다. int[][] arr2 = new int[3][4] [행가로][열세로] 2차원 배열 요소의 전체적인 순차적 접근은 for문의 중첩 반복문을 사용해요. 즉, for문의 외부 반복, 내부 반복을 통해 순차적으로 출력할 수 있습니다. 예시를 통해 어떻게 만들어지는지 확인해볼게요. public static void main(String[] args) { int[][] arr = new int[3][4]; int num = 1; // 배열에 값을 저장 for(int i = 0; i < 3; i++..

Tistory

자바 기초 공부 일지 17. String 클래스의 메소드, .concat(), equals, compareTo, compareToIgnoreCase, valueOf 함수 (수정중)

문자열 연결시키기 1. concat 함수 문자열을 연결 시킬 때 .concat 함수가 있습니다. 기존에는 + 연산자로 문자열을 합쳤었지만, concat 은 + 와 동작하는 방식이 다릅니다. + 는 정수, 실수, 문자열을 append 식으로 더해준다고 보시면 됩니다. concat 함수는 합친 문자열을 String 으로 변환시켜서 합치는데, 문자열을 추가할 때마다 새로운 인스턴스를 생성한다는 면에서 차이가 있습니다. (성능이나 속도 면에서도 좋지 않습니다..) 하단의 예제를 먼저 보겠습니다. package day14; public class Test06 { public static void main(String[] args) { String st1 = "Thrill"; // 사랑은 스릴... String..

Tistory

자바 기초 공부 일지 18. toString 메소드, printf 메소드

toString 메소드 자바에서 생성되는 모든 클래스들은 모두 Object 라고 하는 자바의 기본 라이브러리에서 클래스를 상속받습니다. 그 중에 toSting이라는 메소드가 있는데, 이것은 객체가 가지고 있는 정보의 값을 문자열로 반환하는 메소드입니다. 생성된 인스턴스에 toString 메소드를 사용해볼게요. 출력값으로는 알 수 없는 문자열이 뜹니다.. 이것은 라이브러리에서 가지고 있는 순수 오브젝트의 to String 결과값으로 의미가 없는 디폴트값에 해당합니다. 이것을 본래 우리가 의도하고 싶은 대로 출력하려면 재정의가 필요합니다. 이제 Stirng 클래스로 toString 에 메소드를 재정의 해서 값을 리턴할 수 있도록 합니다. String 은 앞글자가 대문자인 클래스입니다. 이것은 자바 라이브..

Tistory

자바 기초 공부 일지 19. 콘솔 입력(Scanner 클래스)

이전에 파이썬에서는 변수에 입력을 할 때 입력 콘솔로 input() 을 사용했습니다. https://blue-dot.tistory.com/9 파이썬 공부일지 7. 변수와 입력! 변수는 변할 수 있는 모든 자료를 의미합니다. 모든 자료형의 값을 저장할 수 있습니다. 변수는 값을 저장하기 위해 이름을 지어서 사용하는 이름표예요. 식별자(이름표) 만드는 규칙을 한 번 더 blue-dot.tistory.com 자바에는 Scanner 이라고 하는 입력 콘솔이 있는데 이 클래스의 사용에 대해서 알아볼게요. 우선 자바에서 Scanner 을 사용하기 위해서는 import 로 호출을 해줘야하는데 java.util 패키지 안에 있으므로 경로를 설정해서 호출을 해줍니다. 스캐너는 기본적인 데이터 타입들 모두 Scanner ..

Tistory

자바 복습. 상수 constant, 리터럴 literal

복습 https://blue-dot.tistory.com/41 자바 기초 공부 일지 5. 상수 (리터럴), 자료형 변환 변수에 값을 딱 한 번 할당할 수 있으면 상수입니다. 한 번 할당된 값은 변경이 불가능하며 키워드 final 이 붙어있는 변수를 상수라고 합니다. ex) final in MAX_SIZE = 100; (초기화 하지 않으면 딱 한 blue-dot.tistory.com 상수constant : 이름을 가진 메모리 공간. 메모리에 저장된 데이터를 수정할 수 없음. 선언과 동시에 초기화해야함. final 키워드 사용. final 키워드로 상수를 초기화할 때에는 상수의 이름은 대문자를 사용해서 선언할 것. (언더스코어로 띄어쓰기를 쓴다. 캐멀 케이스처럼) final int EXAM = 10;..

Tistory

자바 기초 공부 일지 15. 메소드 오버로딩, this 참조 변수

메소드 오버로딩이란 같은 이름의 메소드를 중복으로 만들 때를 의미합니다. 자바에서 한 클래스에 같은 이름의 메소드를 두 개 이상 받을 수 없지만, 매개변수의 개수 혹은 타입을 다르게 하면 같은 이름을 사용할 수 있습니다. 메소드 오버로딩은 1. 메소드의 이름이 같을 것 2. 메소드의 매개변수 개수 또는 타입이 다를 것 두 가지 조건이 만족되어야 합니다. 메소드의 매개 변수가 여러 가지일 때 매개변수 정보가 다른 메소드가 있을 때에는 컴파일이 판단을 해서 오버로딩을 합니다. 만약 int 정수 하나가 들어가는 메소드a와 int 정수, double 실수가 하나씩 들어가는 메소드b가 있을 때 3, 3.15 의 값을 매개변수로 넣는다면, 메소드 b를 출력합니다. 정수와 문자열이 있을 경우에 어떤 메소드를 오버..

Tistory

자바 기초 공부 일지 16. String 인스턴스

String 을 생성하는 방법은 두 가지 입니다. String str1 = new String("Simple String"); String str2 = "The Best String"; 둘 다 인스턴스가 생성되고 그 값이 반환됩니다. 이 두 가지의 방법에 차이점이 있는지 확인해볼게요. String word1 = new String ("보드마카"); String word2 = new String ("보드마카"); String word3 = "스피커"; String word4 = "스피커"; new 사용 : 문자열의 내용과 무관하게 새로운 객체를 생성합니다. 내용이 같고 다르고를 제외하고 새로운 참조 자료가 만들어집니다. word 1의 보드마카라는 문자열이 메모리에 올라갑니다. word 2의 보드마카라는 문..

Tistory

자바 복습. this() 참조 변수 사용

복습 https://blue-dot.tistory.com/57 자바 기초 공부 일지 15. 메소드 오버로딩, this 참조 변수 메소드 오버로딩이란 같은 이름의 메소드를 중복으로 만들 때를 의미합니다. 자바에서 한 클래스에 같은 이름의 메소드를 두 개 이상 받을 수 없지만, 매개변수의 개수 혹은 타입을 다르게 blue-dot.tistory.com 인생을 몇 년차를 살든 우리에게 필요한 것과 잃으면 안되는 것에 대한 것을 클래스와 메소드를 활용해서 작성해볼게요. this() 를 기필코 쓰겠다. 처음에 이렇게 작성했을 때에는 문법적으로는 맞지만 값에 오류가 떴어요. 자꾸만... 0년차를 살게 되는 거예요. package day14; class FeelingSoGood{ public int a; publi..

Tistory

자바 기초 공부 일지 13. 클래스 변수와 인스턴스 변수, 지역 변수, 클래스 메소드와 인스턴스 메소드

필드 field 란 클래스에 포함된 변수들을 의미합니다. 필드 안에서 변수들은 클래스 어디에 위치하는지에 따라 클래스 변수(static 변수, 정적 변수), 인스턴스 변수, 지역 변수로 나뉩니다. class Number{ static int num = 0; // 클래스 변수 String modelName; // 인스턴스 변수 void method() { int something = 10; // 지역변수 } 클래스 변수와 인스턴스 변수, 지역변수에 대해서 간단하게만 설명을 하자면 클래스 변수란 처음 static 으로 선언된 변수이며 인스턴스 변수란 클래스 내부에 선언된 변수이고 지역 변수란 메소드 블럭(메소드나 생성자, 초기화 블록 내) 안에 선언된 변수입니다. 자세한 것은 하단에서 함께 볼게요. ..

Tistory

자바 기초 공부 일지 14. System.out.println, public static void main(), static 초기화 블록

이제 클래스 변수와 인스턴스 변수, 클래스 메소드와 인스턴스 메소드를 배웠으니 지금까지 의심없이 사용해왔던 System.out.println(" "); 을 보다 자세하게 살펴볼 수 있습니다. import java.lang (자바 랭귀지) 는 자바의 기본 기능이 내제되어 있는 패키지(표준 라이브러리) 이므로 import 를 작성하지 않아도 자동으로 적용이 됩니다. System.out.println(...) ; System -> 은 패키지에 묶여있는 클래스 이름 out-> 은 클래스 변수 이름 (출력관련 참조 변수 그 안에는 println 이라는 메소드가 있습니다.) println -> 은 out 이 참조하는 인스턴스 메소드 public static void main(String[] args) { sta..

Tistory

자바 복습. 변수의 선언

복습 https://blue-dot.tistory.com/39 자바 기초 공부 일지 3. 자바 변수 선언하기, 정수의 표현 방법(2진법 표현식) 자바는 변수를 선언할 때 변수의 이름과 용도를 같이 선언해야 합니다. ex) int num1; 최초로 변수를 만들 때 어떤 역할을 할지 적어주어야 합니다. (변수의 선언) int num1; // 변수 num1의 선언 num1 = blue-dot.tistory.com 변수의 종류 기본형 변수 primitive type 참조형 변수 reference type - 정수형 : byte, short, int, long - 실수형 : float, double - 문자형 : char - 논리형 : boolean 사용자가 직접 만들어서 사용하는 변수 변수 선언 방법..

Tistory

자바 기초 예제문제 3. 제곱근을 구하기 (2의 n승 구하기)

제곱근을 구하는 코드를 위해 이번에는 2의 n승을 구하는 코드를 만들어볼게요. 인수로 정수를 하나 전달 받아서 2의 n승을 계산 및 반환하는 메소드를 정의합니다. 재귀 형태로 정의하고 이를 main 메소드에서 호출해봅니다. 2 ** 0 = 1 2 ** 1 = 2 2 ** 2 = 4 package day13; /* * 인수로 정수를 하나 전달 받아서 2의 n승을 계산 및 반환하는 메소드를 정의합니다. * 재귀 형태로 정의하고 이를 main 메소드에서 호출해봅니다. * 2**0 = 1 * 2**1 = 2 * 2**2 = 4 */ public class Quiz02 { public static void main(String[] args) { System.out.println(fact(3)); } public ..

Tistory

자바 기초 공부 일지 11 . 클래스와 인스턴스, 삼각형의 넓이 구하기

클래스는 데이터와 기능의 집합입니다. 클래스를 만드는 목적은 프로그램의 실행부에서 가져다 쓸 데이터 또는 기능을 정의하는 것이에요. 데이터와 기능이 든 주머니라고 생각하면 좋을 것 같아요. public class BankCustomer { public static void main(String[] args) { } } 만약 BankCustomer 이라는 main 클래스를 만들면서 이 클래스 안에서 쓸 다른 클래스를 만든다고 한다면 상단에 class를 추가해서 만들 수 있습니다. class Account{ int balance = 0; // 인스턴스 변수 void deposit(int money) { // 인스턴스 메소드(규칙 : static을 쓰면 안 된다.) balance = money; } void ..

Tistory

자바 기초 공부 일지 12. 생성자와 String 클래스 (수정중)

생성자(constructor) : 클래스 기반의 객체 생성시 동작하는 메소드로 파이썬에서의 생성자와 동일합니다. 자바에서는 new 로 생성이 됩니다. String 클래스는 자바의 표준 클래스로 만들기 전부터 자바에 존재하는 클래스입니다. 문자열 char 는 참조형이 아니지만 String 은 참조형입니다. 코드상에서 문자열 표현은 String 인스턴스의 생성으로 이어집니다. // 가급적 인스턴스 변수로 서로를 구별할 수 있게 해줍니다. (문자열을 이용해서) // 식별할 수 있는(인스턴스를 구분할 수 있는) 정보를 가지게 해줍니다. 자바의 생성자 만들기 규칙 1. 메소드 이름이 클래스 이름과 동일하다. 2. 반환형이 존재하지 않는다. 반환할 것이 없으면 void 라고 붙일 수 있게 되어 있는데, 생성자가 반..

Tistory

자바 기초 예제 문제 1. 중첩 반복문으로 구구단 만들기, 홀수만 더해서 더한 값 출력하기

중첩 반복문의 예제를 만들어볼게요. 중첩 반복문을 이용한 예제로 가장 대표적인 것은 구구단 만들기 입니다. 2단부터 9단까지 구구단을 만들어볼게요. package day12; public class Test04 { public static void main(String[] args) { for(int i = 2; i < 10 ; i ++ ) { for(int j = 1; j < 10; j ++) { System.out.println(i + "x" + j + "=" + (i*j)); } } } } for(int i = 2; i < 10 ; i ++ ) { -> i 인수는 2단부터 9단까지 진행하기 위한 바깥의 반복문입니다. for(int j = 1; j < 10; j ++) { -> j 인수는 단수 안..

Tistory

자바 기초 공부 일지 9. 메소드 method

메소드의 정의와 호출! 자바에서 메소드는 함수입니다. 함수가 클래스에 포함되어 있으면 메소드라고 하기 때문에 자바에서의 메소드는 통상적으로 함수를 뜻해요. 메소드는 여러 개를 작성해서 여러 번을 사용할 수 있기 때문에 코드가 복잡해지거나 가독성이 떨어지는 경우에 효율적이에요. 메소드 중 main 이라고 하는 코드 블럭이 시작점입니다. 이것은 자바의 규칙으로 프로그램은 main 에서부터 시작됩니다. 이것은 메소드 이름이 main 이고 중괄호 내 문장들이 순차적으로 시작하는 것입니다. main은 자바 프로그램의 엔트리 포인트라고 해요. 그 외의 메소드들은 모두 일반 메소드입니다. 즉 일반 메소드는 메소드 내부에서 선택적으로 불러낼 수 있는 코드 블럭입니다. package day13; public class ..

Tistory

자바 기초 예제 문제 2. 자바로 소수값 출력하기

메인 메소드와 일반 메소드를 활용해서 소수값(prime)을 출력하는 프로그램을 만들어볼게요. 전달된 값이 소수인지 아닌지를 판단해서 소수의 경우 true 를, 소수가 아닌 경우에는 false를 반환하는 메소드를 정의하고 이 메소드의 호출결과를 기반으로 1 이상 100 이하의 소수를 전부 출력하는 main 메소드를 만듭니다. 우선 소수를 구하기 위해 pirme소수의 정의에 대해서 알아볼게요. 소수란 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 입니다. 즉, 나머지가 0이 되는 것은 1과 자기 자신의 수 밖에 없습니다. 이것을 코드로 구현해볼게요. package day13; /* * 전달된 값이 소수(Prime)인지 아닌지를 판단하여 소수인 경우 true 를, * 소수가 아닌 경우 false를..

Tistory

자바 기초 공부 일지 10. 메소드의 재귀 호출

재귀에 대해서는 이전에 파이썬에서 한 번 알아본 적이 있습니다. 팩토리얼 함수를 예시로 했었습니다. https://blue-dot.tistory.com/21 파이썬 공부일지 18. 함수의 활용(재귀함수)! 이제부터는 앞서 배운 함수를 어떻게 활용하는지에 대해서 공부합니다. 1. 재귀함수 재귀함수는 함수 내부에서 같은 기능을 사용하는 거예요. 재귀는 자기 자신을 호출한다는 의미를 가지고 있 blue-dot.tistory.com 이번에도 팩토리얼로 표현하자면 n! = n * (n-1)! -> 이것을 코드로 그대로 옮기도록 돕는 것이 재귀 메소드입니다. 재귀적인 함수를 표현할 때 우리에게 반드시 필요한 것은 종료 조건입니다. 끝날 시점이 있는 재귀적 함수를 구현해야 안전하게 작성될 수 있습니다. return ..

Tistory

자바 기초 공부 일지 6. 기본 연산자

산술 연산자 사칙연산을 다루는 연산자로, 두 개의 피연산자를 가지는 이항 연산자입니다. 우선순위대로 먼저 적용을 하고 그 뒤에 결합방향대로 연산을 합니다. 결합방향 : 어느 방향으로 연산을 이어가는지에 대한 방향. 우선 순위가 같을 때 적용하는 기준입니다. 기본 처리 순서는 파이썬과 동일하게 곱셈과 나눗셈이 우선하고 그 뒤에 덧셈과 뺄셈이 이루어집니다. 괄호를 통해 연산자의 처리 순서를 변경할 수도 있습니다. (괄호 우선) 대입연산자 대입연산자는 변수에 값을 대입할 때 사용하는 이항 연산자입니다. 피연산자는 오른쪽에서 왼쪽으로 대입됩니다. and -> && or -> || not -> ! 단항연산자 주의할 점은 복합대입연산이 한 줄에 두 개 이상 쓰이면 하나만 대입됩니다. 가장 앞에 있는 대입연산..

Tistory

자바 기초 공부 일지 7. 조건문 조건제어 if문, else, else if, switch문, break문 과일 바구니 예제 문제

파이썬에서 배웠던 if 조건문과 형태가 무척 비슷하지만 조금씩 다른 자바. 다른 것보다 눈에 익혀두는 것이 시간이 걸릴 것 같아요 ^^ㅠ 자바의 if 조건문 알아볼게요. if (ture or false) { -> 불리언 데이터가 들어가거나 불리언 값이 나오는 조건문 조건 true 시 실행되는 영역 } package day12; public class if_ex { public static void main(String[] args) { // 조건 : 불리언 표현식 int age = 24; if(age 10) System.out.println("청소년"); else if(age > 5) System.out.println("어린이"); else System.out.println("아기"); } } 여기까..

Tistory

자바 기초 공부 일지 8. 반복문 while문, for문, break와 continue, 중첩 반복문

while은 파이썬에서 사용하던 것과 기존 문법이 비슷합니다. while(반복 조건문){ 반복영역 } 조건문이 참일 경우에 하단의 반복영역이 계속 반복됩니다. 자바에서는 주로 while과 증감연산자를 같이 섞어서 사용합니다. package day12; public class Test03 { public static void main(String[] args) { int num = 1; while(num search 변수 값을 불리언 false 로 선언했어요. while(num num의 값이 100미만일 경우에 반복하는 while 조건문을 작성합니다. if(((num % 5 == 0)&& (num % 7 == 0))) { -> 만약 5와 7이 0으로 나누어 떨어지는 조건문이 성립을 한다면 search ..

Tistory

자바 기초 공부 일지 3. 자바 변수 선언하기, 정수의 표현 방법(2진법 표현식)

자바는 변수를 선언할 때 변수의 이름과 용도를 같이 선언해야 합니다. ex) int num1;

Tistory

자바 기초 공부 일지 4. 자료형 (정수형, 문자형)

정수 자료형 int, double 정수 자료형 중 가장 안정적인 자료형은 정해져 있습니다. 정수 값을 표현하는 키워드는 4개이지만, 그 중에 int 를 자바에선 표준으로 자동으로 취급하고 있습니다. System.out.prinln(120); 으로 했을 때 특별히 언급한 바가 없다면 int 로 처리가 됩니다. 정수형 덧셈을 하면 자료형과 상관없이 int형 덧셈을 진행하기 때문에 short 형 변수를 사용했을 때에는 오류가 발생할 수 있습니다. 실수 자료형에서는 double 로 인식을 합니다. double 이 자릿수가 길기 때문에 정밀도가 높아집니다. 즉, 자바에서는 정수는 int 로, 실수에서는 double 로 사용하시는 것이 가장 안전합니다. 바이트 수를 절약하고자 하는 목적이 있다면 의도적으로 다른..

Tistory

자바 기초 공부 일지 5. 상수 (리터럴), 자료형 변환

변수에 값을 딱 한 번 할당할 수 있으면 상수입니다. 한 번 할당된 값은 변경이 불가능하며 키워드 final 이 붙어있는 변수를 상수라고 합니다. ex) final in MAX_SIZE = 100; (초기화 하지 않으면 딱 한 번 초기화가 가능합니다. 상수는 선언과 동시에 초기화를 해줍니다.) final 기반의 상수를 선언할 때에는 모두 대문자로 짓는 것이 관례이며, 이름이 둘 이상의 단어로 이루어진 경우에는 언더바로 연결하는 것이 관례입니다. (스네이크 표기법) 반드시 선언과 동시에 초기화를 해줍시다. package day11; public class test02 { public static void main(String[] args) { int number; number = 3; number = ..

Tistory

AI 인공지능 수학 공부일지 6. 거듭제곱, 제곱근, 삼각함수, 난수 그래프 그리기

거듭제곱은 같은 수 또는 문자를 여러번 곱하는 것을 거듭제곱이라고 합니다. 수식 y = x를 코드로 구현 파이썬에서 거듭제곱은 **으로 구현합니다 %matplotlib inline # %matplotlib inline 은 주피터 브라우저에서 그림을 곧바로 볼 수 있도록 # 내부에 그리게 해주는 코드 입니다. import numpy as np import matplotlib.pyplot as plt def my_func(x): a = int(input()) return x ** a x = np.linspace(0,2) y = my_func(x) plt.plot(x, y) plt.xlabel("x",size=14) plt.ylabel("y",size=14) plt.grid() plt.show() %matpl..

Tistory

AI 인공지능 수학 공부일지 5. matplotlib 기초

이전에 Numpy 배열의 기본을 배워보았다면 이제 그래프 그리기를 해볼 거예요. 인공지능에서는 데이터를 가시화 하는 것이 중요하기 때문에 matplotlob 모듈을 사용합니다. matplotlib 모듈은 그래프를 그리거나 이미지 표시, 간단한 에니메이션 동작 같은 것을 수행합니다. 그래프를 그릴 때에는 matplotlib 의 pyplot 이라는 모듈을 import 해야합니다. import matplotlib.pyplot as plt -> 주로 as 를 사용해 plt 으로 명명해요. import numpy as np -> 앞서 배웠던 Numpy 모듈입니다. matplotlib 로 그래프를 그릴 때에는 Numpy 의 linspace() 함수가 자주 사용됩니다. linspace() : 일정한 간격을 가진 50..

Tistory

자바 기초 공부 일지 1. 자바 JDK 설치와 환경 변수 설정, 자바와 파이썬의 차이점

오늘부터 새로 자바에 대해서 공부를 시작합니다... 파이썬과 같이 병행해서 자습해야겠어요... 아자자 새출발 ~ 우선 오라클 사이트에서 JAVA JDK 를 다운로드 받아야 합니다. (저는 이 과정에서 조금 헤맸어요...) 구글 검색창에 java jdk download 를 검색하신 후에 각 운영체제에 맞는 설치 프로그램을 다운로드 받아주세요. 저처럼 헤매시던 분들을 위해 다운로드 링크를 연결해드립니다.. https://www.oracle.com/java/technologies/downloads/#jdk19-windows Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support availa..

Tistory

자바 기초 공부 일지 2. 자바의 간단 소개, 이클립스Eclipse 설치

자바는 클래스 자체가 실행될 수 있는 파일의 형태이기 때문에 클래스의 모음 혹은 집합입니다. 자바를 시작할 때에는 클래스를 만드는 것부터 시작합니다. 클래스를 시작할 때에는 대문자로 시작하는 것이 같습니다. 메소드 - 자바가 꼭 가져야하는 기능 main 이라는 메소드가 포함이 되는 것으로 시작합니다. main은 엔트리포인트 (프로그램이 여기부터 시작한다 라고 하는 약속) 입니다. main 메소드 안의 문장들이 순차적으로 실행됩니다. 파이썬에서는 영역을 구분할 때 들여쓰기를 사용하지만, 자바에서는 들여쓰기가 필수는 아니고 중괄호를 통해서 한다. 문장의 끝에는 세미콜론을 붙여서 끝을 표시합니다. 즉, 자바는 명령어를 작성할 때 명령이 여기까지라는 기호를 작성해주어야 합니다. 파이썬에서 print 로 사용되는..

Tistory

AI 인공지능 수학 공부일지 2. BeautifulSoup로 네이버 금융 코스피 지수 추출하기

이제 BeautifulSoup 로 웹사이트의 데이터를 추출하는 것을 해볼게요. 전에 파이썬에서도 해봤지만 조금 더 자세히 보겠습니다. 웹 상에서 정보를 본다, 라고 할 때 웹과 인터넷은 동의어가 아닙니다. 인터넷이라는 망 안에서 정보를 교환하기 위해 사용되는 프로그램이 '웹' = 소프트웨어 입니다. www.naver.com 이라고 검색을 해서 웹 서핑을 할 때 입력하는 창을 주소창이라고 합니다. = url (Uniform Resource Locator) 주소창에 주소를 입력하고 엔터를 누를 때 서버의 정보를 요청을 하고 그에 www.naver.com 에서는 응답을 통해 정보를 전송합니다. 만약 어떤 웹 사이트에서 정보를 가져오고 싶을 때 우리가 익히 알고 있는 문자열 함수로는 웹 사이트의 코드에서 추출해..

Tistory

AI 인공지능 수학 공부일지 3. 판다스 pandas 모듈

두 개의 모듈을 추가로 설치하고 이번 포스팅에는 판다스 모듈만 정리해볼게요. 1. pandas 2. openpyxl 설치하는 방법은 지난 번 포스팅을 참고해주세요. https://blue-dot.tistory.com/32 AI 인공지능 수학 공부일지 1. 파이썬 개발 환경 아나콘다Anaconda 설치하기, 주피터 Jupyter 실행하기 오늘부터 인공지능 수학을 공부합니다. 인공지능용 수학은 필요한 분야의 수학이 정해져 있습니다. 벡터, 행렬, 텐서 등을 다루는 선형대수, 상미분, 편미분, 연쇄법칙 등을 다루는 미분, 표준편 blue-dot.tistory.com 데이터 구조를 분석하는 판다스의 데이터 프레임에 대해서 알아볼게요. 데이터의 가장 흔한 형태 중 하나는 바로 '행과 열'의 2차원 구조입니다. 파..

Tistory

AI 인공지능 수학 공부일지 4. Numpy 기초 행열

Numpy 라는 파이썬 확장 모듈은 인공지능을 구현할 때 쓰는 벡터와 행렬을 주로 다룹니다. 처음에 모듈을 실행할 때에는 파이썬의 다른 모듈들과 동일하게 import numpy 로 호출하는데 통상적으로 as np 를 붙여서 np로 이름을 붙여 사용합니다. (이렇게 하면 이후에 .np 라는 이름으로 Numpy 모듈을 다룰 수 있습니다. import numpy as np Numpy의 배열은 여러 함수로 만들 수 있습니다. 각 함수들을 살펴볼게요. array() 함수를 통해 python의 리스트로 직접 배열을 만들 수 있습니다. (1) 리스트에 범위 값 넣기 import numpy as np a = np.array(list(range(6))) print(a) .array() 함수에 리스트를 넣어서 배열을 ..

Tistory

파이썬 코드. Turtle 모듈(거북이 모듈) 키보드로 그림 그리기

모듈 중에 교육용 모듈로 인기가 좋은 Turtle 거북이 모듈이 있습니다. 그래픽 모듈로 그림을 그릴 때 사용합니다. 거북이가 움직이면서 그림을 그리는 모듈이에요. https://docs.python.org/ko/3/library/turtle.html turtle — 터틀 그래픽 — Python 3.10.8 문서 turtle — 터틀 그래픽 소스 코드: Lib/turtle.py 소개 터틀(거북이) 그래픽은 아이들에게 프로그래밍을 소개하는 데 널리 사용되는 방법입니다. 1967년 Wally Feurzeig, Seymour Papert 및 Cynthia Solomon이 개발한 docs.python.org 키보드를 조작해서 거북이가 엉금엉금 기어다니며 그림을 그리는 코드를 만들어볼게요. 코드는 주석으로 설명을..

Tistory

파이썬 코드. Beautifulsoup4 (bs4) 네이버 증권에서 코스피 지수 가져오기

BeautifulSoup 모듈은 웹페이지에서 자료를 추출하고 분석하는 모듈입니다. https://pypi.org/project/beautifulsoup4/ beautifulsoup4 Screen-scraping library pypi.org 현재 4 버전까지 출시되어 있고, 외부모듈이기 때문에 명령 프롬포트에서 직접 설치해야 합니다. 시작 -> 검색 -> cmd -> python 파일을 실행할 폴더로 이동 >> cd 파일경로 입력 >> pip install beautifulsoup4 (혹은 bs4) 엔터 설치 완료 # 네이버 코스피 지수를 추출하는 태그 ## from urllib import request # 소스를 가져와서 바이너리 형태로 읽어 들인다. import requests # 외부 모듈이므로 ..

Tistory

AI 인공지능 수학 공부일지 1. 파이썬 개발 환경 아나콘다Anaconda 설치하기, 주피터 Jupyter 실행하기

오늘부터 인공지능 수학을 공부합니다. 인공지능용 수학은 필요한 분야의 수학이 정해져 있습니다. 벡터, 행렬, 텐서 등을 다루는 선형대수, 상미분, 편미분, 연쇄법칙 등을 다루는 미분, 표준편차나 정규분포, 우도 등을 다루는 확률과 통계입니다.... 저는 정말 뼛속부터 문과에 수학을 포기한지 어언 1n년이 되었는데... ... 열심히.. 해보려구요... . ..! 아자자 ~~~! 우선 파이썬에서 가장 많이 사용하는 개발환경이 아나콘다Anaconda 를 설치해보겠습니다. 통합 개발 환경이란 개발을 위해 필요한 전반적인 환경을 제공하는 프로그램 또는 환경 그 자체 입니다. 아나콘다 또한 통합 개발 환경의 설치인 거예요. 즉 하위 프로그램을 보면 아나콘다라는 프로그램이 설치된 것이 아니라 개발 환경이 설치된 것..

Tistory

파이썬 공부 요약 노트 3. 클래스

객체지향 프로그래밍 - 여러 데이터간의 상호작용을 통해서 진행된다. vs 절차 지향 프로그래밍(프로시저 지향) - 정해진 시나리오대로 혼자 진행한다. ex) 자동차가 움직이는 것(자율주행프로그램은 오로지 자동차가 하는 것), 바이올린을 켜는 것. def creat_student(name, korean, math, english, science): return { "name" : name, "korean" : korean, "math" : math, "english" : english, "science" : science } def student_get_sum(student): return student["korean"] + student["math"] +\ student["english"] + stude..

Tistory

파이썬 공부일지 21. key 키워드 매개변수(min, max)

리스트에서 min()함수와 max()함수로 최솟값과 최댓값을 구할 수 있었습니다. 만약 상품명과 가격이 담겨 있는 딕셔너리에서 상품명으로 가격의 최솟값과 최댓값을 구하려면 어떻게 할까요. 딕셔너리의 키 를 활용합니다. min() 함수와 max()함수에는 '어떤 값으로 비교'할 것인지 나타내는 key 라는 키워드 매개변수를 지정할 수 있습니다. 우선 상품들이 담겨있는 딕셔너리를 생성해줍니다. 딕셔너리는 { key : 값 }의 형태로 저장해요. items = [{ "상품": "어제 먹다 남은 파이", "가격": 21000 }, { "상품": "크리스마스 에디션 밤조림", "가격": 45000 }, { "상품": "우주대폭발 버튼", "가격": 72000 }] 상품을 모두 items 라고 하는 딕셔너리에 넣었..

Tistory

파이썬 공부 요약 노트 4. 예외, 오류

오류의 종류 - 구문 오류 : 문법이 잘못 되어서 실행할 수 없는 문제 -> 코드를 다시 써야 해결 된다. - 실행 예외 : 문법은 맞지만 논리가 잘못 되어서 실행할 수 없는 문제 -> 예외. 앞뒤로 코드를 추가해서 대응할 수 있다. (예외처리) - 예외 처리 : 실행 예외에 대해서 대응하는 기법 기본 예외 처리 try : 예외가 발생할지도 모르는 코드 작성 except : 만약 예외가 발생하면 어떻게 할지 작성 else : 예외가 발생하지 않으면 발생하는 코드 except 는 각 예외 상황 별로 출력을 정할 수 있음 try에서 예외가 발생하는 것은 반복문에서 break가 발생하는 것과 동일하게 try는 끝난다. 오류가 두 건 발생한다면 가장 위에 있는 코드의 에러 구문만 출력하고 멈춘다. ..

Tistory

파이썬 공부 요약 노트 5. 문법 정리 (1) 문자열 출력

https://dojang.io/ 파이썬 코딩 도장에서 기본 문법부터 다시 천천히 공부하고 있어요. 코딩 도장의 강의와 정리가 무척 잘 되어있으니 참조하실 분 참고! 코딩 도장 dojang.io 변수 여러 개 만들기 >>> x, y, z = 10, 20, 30 >>> x 10 >>> y 20 >>> z 30 변수 값 바꾸기 >>> x, y = 10, 20 >>> x, y = y, x >>> x 20 >>> y 10 input 값은 모두 str 문자열. 사칙연산을 하기 위해서는 정수 혹은 실수로 변환해야 한다. a = int(input('첫 번째 숫자를 입력하세요: ')) # int를 사용하여 입력 값을 정수로 변환 b = int(input('두 번째 숫자를 입력하세요: ')) # int를 사용하여 입력 ..

Tistory

파이썬 공부 요약 노트 1. 자료형 ~ 반복문

프로그램 = 자료의 표현 + 자료의 처리 자료형 : 특정 자료가 어떻게 생겼는지 정의한 것 - 기본 자료형 : 숫자, 문자열, 리스트 등 - 리스트 튜플 문자열 - 인덱싱 : n번째 요소를 참조하겠다. - 슬라이싱 : n번째부터 n번째까지 잘라내겠다. 인덱스와 슬라이싱은 반드시 0부터 시작한다. 슬라이싱 할 때 마지막 인덱스는 세지 않는다. 슬라이싱은 콩 심은데 콩 난다! 리스트에 슬라이싱 하면 리스트가 나오고 문자열에 슬라이싱 하면 문자열이 나온다. 변수 - 자료에 붙이는 이름표 - 자료를 저장하기 위한 수단 - 변수 이름은 자유이나, 제약사항도 있다. 변수 규칙! 1. 문자와 숫자 그리고 _ 언더바 기호만을 사용할 수 있다. 2. 변수 이름에 숫자가 들어갈 수 있으나, 숫자로 시작할 수는 ..

Tistory

파이썬 공부 요약 노트 2. 변수, lambda, map()

변수 : 자료에다 붙이는 이름표 함수 : 코드에다 붙이는 이름표 변수 형태 : 변수 = 자료 함수 형태 : def함수 () : 코드 변수를 사용할 때는 변수 이름만 적어도 되지만, 함수를 사용할 때에는 () 소괄호를 사용해야한다. (= 함수의 호출) 함수는 메모리에 저장되어 있고, 함수를 호출했다면 실행한 뒤 원래의 데이터로 돌아간다. 함수 내부는 독립적인 지역이다. 함수 안에서 만든 변수는 함수 안에서만 존재한다. 매개변수 : 함수에다가 자료 전달하기 매개변수를 사용하고 싶다면 함수를 만들 때 소괄호에다가 식별자를 추가한다. 식별자의 갯수가 매개변수의 갯수다 반환자료 : 함수로부터 자료 전달받기 반환자료는 오로지 하나만 사용할 수 있으며 사용할 때에는 retrun 으로 쓴다. def 함수명(..

Tistory

파이썬 공부일지 17. 함수 만들기!

함수를 사용하는 것은 함수를 호출한다, 고 하고 함수를 호출할 때 괄호 내부에 넣는 여러가지 재료를 매개변수 또는 인수 또는 인자 라고 합니다. (인수라는 표현을 더 많이 씁니다.) 함수를 호출해서 최종적으로 나오는 값을 리턴값 이라고 합니다. 즉 표현식으로부터 내보내진 결과값입니다. print("금요일") 에서 print( ) 그리고 기본 매개변수의 값을 n=3 으로 입력했을 때 이것은 키워드 매개변수로 실행이 가능한 거예요. 결과값은 이렇게 나옵니다. 다음으로 리턴에 대해서 알아볼게요. 함수를 실행하고 나면 함수의 결과를 받아서 사용했습니다. 그값을 우리는 리턴값 이라고 하는데요 리턴은 함수를 실행했던 위치로 돌아가라는 뜻으로 함수가 끝나는 위치를 의미합니다. return 키워드를 만나는 순간 함수가..

Tistory

파이썬 공부일지 18. 함수의 활용(재귀함수)!

이제부터는 앞서 배운 함수를 어떻게 활용하는지에 대해서 공부합니다. 1. 재귀함수 재귀함수는 함수 내부에서 같은 기능을 사용하는 거예요. 재귀는 자기 자신을 호출한다는 의미를 가지고 있습니다. 가령 팩토리얼 이라는 연산자가 있는데 이것을 구하는 것으로 예제를 활용해볼게요. 팩토리얼은 n! 의 기호로 사용합니다. n! = n * (n-1) * (n-2) * (n-3) ... * 1 이렇게 연산을 이어가는 것을 팩토리얼이라고 합니다. ex) 5! = 5 * 4 * 3 * 2 * 1 이렇게 팩토리얼을 구현화할 때, 반복문으로 팩토리얼을 구하거나 재귀 함수로 팩토리얼을 구할 수 있습니다. 먼저 반복문으로 구해볼게요. def factorial(n): -> factorial () 함수를 만들어줍니다. output ..

Tistory

파이썬 공부일지 19. 함수 활용 (튜플, 람다)!

다음으로 함수 관련하여 편하게 쓸 수 있는 기능들로 튜플과 람다가 있습니다. 1. 튜플 리스트와 비슷한 자료로 리스트와 다른 점으로는 한 번 결정된 요소는 바꿀 수 없다는 것입니다. a = [ 요소, 요소, 요소 ] -> 리스트 a = ( 요소, 요소, 요소 ) -> 튜플 리스트는 [] 대괄호를 쓰지만 튜플은 소괄호() 를 씁니다. (소괄호는 튜플 뿐만 아니라 연산식을 만들 때도 씁니다.) 그 안에 여러개의 자료를 넣는데 쉼표로 구분합니다. 리스트와 동일하게 인덱싱을 할 수 있습니다. 튜플과 리스트는 생김과 기능이 비슷하지만 몇 가지 차이가 있습니다. - 튜플은 값의 변경이 불가능하지만, 리스트는 값의 변경이 가능합니다. - 튜플은 요소를 하나만 가질 수 있는 리스트와는 달리 한개의 리스트를 가지기 위해..

Tistory

파이썬 공부일지 20. 파일처리!

파일은 크게 텍스트 파일와 바이너리 파일로 나뉘는데, 이번에는 텍스트 파일의 파일처리에 대해서 알아봅니다. 기본적으로 파일을 열 때에는 open() 함수를 사용합니다. 파일 객체 = open(디렉토리 경로와 파일명, 문자열 읽기모드) 첫 번째 매개 변수로는 파일의 경로를 입력하고, 두 번째 매개 변수로는 파일의 읽는 방법을 지정합니다. 파일의 문자열 모드는 크게 세 가지가 있습니다. w write 모드 (새로쓰기 모드 ) a append 모드 (이어쓰기 모드) r read 모드 (읽기 모드) 파일을 닫을 때에는 close()함수를 사용합니다. 모든 파일은 open 후에 close 를 하는 버릇을 꼭꼭 가져야해요. 우선 문자열 읽기 모드 중 w와 a모드를 확인해볼게요. w와 a모드에는 특별한 기능이 있습니..

Tistory

파이썬 공부일지 14. for 반복문!

이제 빠듯하게 따라가고 있어서 열심히 시간을 쪼개서 정리해볼게요! for 반복자 in 반복할 수 있는 것 : 반복하고자 하는 코드 반복할 수 있는 것에는 문자열, 리스트, 딕셔너리, 범위 등이 있습니다. 자료가 순차적으로 나열된 형태를 말해요. 지금까지 문자열과 리스트를 보았죠. 그럼 리스트를 넣어볼게요. for 반복을 할 때 [1,2,3,4] 리스트를 기반으로 반복하겠다. 리스트의 길이가 반복의 횟수가 됩니다. 리스트의 길이는 len()에 넣었을 때 4이므로 4번 반복되는 거예요. 리스트에 5를 추가하면 한 번 더 반복되어요. 반복자는 그럼 무엇일까요. 반복자는 5번 반복할 때마다 요소element를 저장하는 거예요. 즉 변수의 일종이죠. 한 번 반복할 때마다 리스트의 값을 반복자에 저장해요. 한 번 ..

Tistory

파이썬 공부일지 15. 딕셔너리!

날씨가 갑자기 추워져서 옷을 어떻게 입어야할지 모르겠어요. 두껍게 입으면 공부하면서 졸리고, 얇게 입으면 학원 가면서 졸리고……. 외투를 도톰하게 입고 나오니 이제 정말로 겨울 같네요. 이번 겨울에는 멋지게 코딩할 수 있는 사람이 되어 있을까요. 힘내봅니다……. 오늘은 리스트에 이어 자료를 저장할 수 있는 딕셔너리에 대해서 공부해봅니다. 딕셔너리는 변수 = { } 의 형태로 사용합니다. 변수 = { 키 : 값, 키 : 값 } 콜론을 기준으로 앞에 있는 것은 '키', 뒤에 있는 것은 값 value 이에요. 값 : 자료형 무엇이든 올 수 있습니다. 키 : 숫자, 불, 문자열 정도만 올 수 있습니다. -> 키로 쓸 수 있는 자료형은 모두 immitable 입니다. (원본을 훼손하지 않습니다. 원본을 바꿀 수 ..

Tistory

파이썬 공부일지 16. 범위 자료형 range, 조건반복문 while!

숫자, 불, 문자열, 리스트, 딕셔너리... -> 표현 형태가 정해져 있습니다. range범위 의 경우에는 형태가 없습니다. 범위 자료는 함수 형태로 만들고 사용합니다. range(?????) 조건이 만족하는 동안에 문장을 반복합니다. for 와 while 반복문의 유형을 비교할 때 다음과 같은 차이점이 있습니다. - for : 횟수를 정해서 그만큼 반복합니다. - while : 조건을 정해서 False 될 때까지 반복합니다. 조건을 반복해서 활용해야 한다면 while 반복문을 쓰는 것이 유용할 거예요. while 반복문은 상태를 기반으로 반복하기 때문에 리스트에서 remove() 함수가 한 번당 하나의 값만을 제거할 수 있었지만 while 반복문을 사용하여 여러 개를 제거할 수 있습니다. 값이 존재하지..

Tistory

파이썬 공부일지 10. 불 자료형과 if 조건문!

오늘도 새로운 공부를 시작합니다. 조건문의 시작! 파이팅합시다~ 1. 불 자료형 참과 거짓의 값을 표현하는 연산자를 불boolean 이라고 합니다. 불은 오직 True 와 False 값만을 가집니다. 파이썬에서 True와 False 의 첫 글자는 반드시 대문자로 기재해야 합니다. 만약 소문자로 기재하게 된다면 예외(에러)가 발생합니다. 불은 비교 연산자를 통해 만들 수 있습니다. == 같다 > 크다 != 다르다 >> ticket = 2 (티켓은 2장) >>> ticket > now = 2 (시간은 2시) >>>now >= 3 (오후 3시 이후) False >>> ticket = 3 Flase ※ 비교 연산이 논리 연산보다 연산 우선순위가 큽니다. (논리연산과 비교연산이 섞여 있다면 비교 연산이 먼저 실행..

Tistory

파이썬 공부일지 11. if 조건문 예제와 else, elif 활용!

if 조건문의 예제를 먼저 보겠습니다. if 조건문으로 날짜와 시간을 출력해서 결혼식 날짜를 예약해볼게요. 후에 배울 모듈이라는 기능을 활용해서 datetime 이라는 기능을 먼저 가져와야 합니다. (이것은 후에 배워요!) 그런 다음 datetime.datetime.now() 함수를 사용해서 현재의 시간을 구하고 now 라는 변수에 대입해줄게요. 저는 딱히 외우려고 하지 않고 그냥 쓰면서 익숙해지려구요! import datetime now = datetime.datetime.now() 이제 예약할 수 있는 날짜를 입력해봅니다. print("결혼식은 언제일까.") year = int(input("몇 년에 하나: ")) month = int(input("몇 월에 하지: ")) 이제 사용자가 각각 입력한 년도..

Tistory

파이썬 공부일지 12. if 조건문, 대화 프로그램 만들기!

false 로 변환되는 값 if 조건문의 매개변수에 불이 아닌 다른 값이 올 때는 자동으로 이를 불로 변환하게 됩니다. Flase 로 변환되는 값은 None, 0, 0.0, 빈 컨테이너 입니다. 컨테이너는 어떤 것을 포함한다는 뜻이에요. 그렇기 때문에 빈 컨테이너는 값이 없는 상태예요. 빈 문자열 (따옴표와 따옴표 사이. ""), 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등) 이 이외에는 모두 True 로 변환됩니다. 만약 어떤 데이터가 True 인지 False 인지 모를 경우에는 bool( ) 함수를 씁니다. bool(x) : x가 뭘로 해석되는지 True 혹은 False 로 알려줍니다. pass 키워드 나중을 위해서 비워두는 구문입니다. 가령 프로그래밍을 하며 전체 골격을 잡아 놓고 세부 사..

Tistory

파이썬 공부일지 13. 리스트!

이제 파이썬으로 본격 코딩을 조금조금씩 맛보고 있는데, 진짜 재밌네요! 무에서 유를 만드는 느낌... 정말 망망대해에서 그물 짓고 있는 기분이에요.. 다시 또 시작해봅시당. 지금까지 공부한 자료형은 문자열, 숫자, 불. 세 가지 입니다. 이제 새로운 자료형으로 리스트를 공부해볼게요. 지금까지 사용한 숫자, 문자, 수식 같은 것이 개별적인 한 개의 자료였다면 리스트는 여러가지를 모아서 하나로 만드는 거예요. 가령 필통 속에 지우개, 연필, 종이, 자, 칼이 들어있다면 그것들은 모두 독립적인 자료이고 그것을 하나에 담고 있는 필통은 리스트예요. 리스트에 자료를 넣는 것은 [ ] 대괄호를 열었다가 속에 자료를 담고 닫으면 돼요. 그 안에 담긴 자료들을 요소element 라고 합니다. 반드시 그 사이사이에 쉼표..

Tistory

파이썬 공부일지 8. inch -> cm 단위로 변경하기!

국민취업지원제도를 함께 진행하고 있어서, 면담으로 잠시 외출을 다녀온 사이 진도가 나가 있었어요. ㅠㅠ 빈 부분은 열심히 독학해야겠습니다. 여담이지만 국민취업지원제도 정말 좋습니다. 한달에 50만원씩 지원금을 지급해주는데 교육기관에서 지급하는 지원금과는 별개로 받을 수 있는 지원금입니다. 홍보 관련된 그 무엇도 받지 않았구.. 간단하게 링크만 걸어놓고 제 공부 하러 갑니다.. ... https://www.kua.go.kr/ https://www.kua.go.kr/ www.kua.go.kr 지금 만들 예시는 변수 참조와 input(), int() 함수로 적용할 수 있는 간단한 프로그램입니다. inch 를 cm 로 변환시키는 프로그램을 만들 거예요. 우선 숫자를 입력할 수 있는 input 을 입력해줍니다. ..

Tistory

파이썬 공부일지 9. 숫자 · 문자열 함수!

수업은 끝났으나 자습이 남아 있습니다. 8시간 내리 수업을 듣는 것보다, 지금까지 들었던 수업들을 정리할 수 있는 시간이 있다는 것이 얼마나 감사한 일인지 모르겠어요. 누군가에게 배우는 것도 중요하지만 자기의 것으로 만드는 과정도 참 중요한 것이겠죠... . 힘내봅니다... ... 이번에는 숫자와 문자열의 다양한 기능에 대해서 배워볼게요. format () 대표적으로 문자열의 format() 함수가 있습니다. 중괄호{} 를 포함한 문자열 뒤에 마침표 . 를 찍고 format() 함수를 사용합니다. "{} ".format () 이렇게요. 문자열의 {} 기호와 format () 함수 안에 들어가는 변수들이 차례차례 대응되어 문자열이 됩니다. >>> "{} {} {} ".format("사과", "딸기", "포..

Tistory

파이썬 공부일지 4. 자료형과 문자열!

대체 파이썬을 배우는데 자료형과 문자열을 왜 배우는 거지? 내가 하고 싶은 것은 파이썬으로 인공지능 배우고 자비스 하나 만드는 건데 굳이 다 아는 자료를 또 알아야 하나? ……하고 생각했는데요. 아니더라구요……저는 그냥 무식한 마블덕 초짜였습니다… 역시 무지는 무례입니다……. 자료를 자료형에 맞게 모으고, 처리 과정을 거쳐서 차근차근 더 큰 자료형을 만들면서 이루어지는 것이 프로그램이라고 하더라구요. 가장 기본적인 자료의 의미를 알고 쓰임새를 알아야 더 큰 프로그램을 만들 때 기초부터 탄탄한 것을 만들 수 있다고 합니다. 나무… 를 자를 때 도끼 날을… 갈듯……… 무협에서 무공을 쌓을 때…… 심신의 자그마한 내공부터… 단련하듯………자비스 만들 때…… ……아니 자비스 어케 만드는지 모르니까 이건 됐구…… ..

Tistory

파이썬 공부일지 5. 문자열 연산자!

오늘도 공부를 시작해봅니다.. 아침에 학원 올 때 시간을 자꾸 놓쳐서 아침 식사를 못 하고 나와요. 시리얼이랑 우유는 챙겼는데, 배고파서 점심까지 제정신을 유지할 수 있을지 모르겠습니다. 아무튼 오늘부터는 연산자 공부! 문자열 연산자에 대해서 배워볼게요. 문자열 연결 연산자 + 더하기 기호로 '숫자'를 더하거나 '문자열'을 연결할 수 있습니다. (= 숫자를 더하거나, 문자열을 이어붙인다.) >>> 1+1 #숫자의 더하기 연산자 2 >>> "1"+"1" #문자열의 연결하기 연산자 '11' # 연산자는 + 이고 " 1 " 혹은 1 은 피연산자가 됩니다. 그럼 1+"1" 은 값이 어떻게 나올까요? 숫자+문자열 이 가능한지 해보면... 역시 오류가 뜹니다. ^-^ 정수와 문자열을 더하는 것은 불가능해요. Typ..

Tistory

파이썬 공부일지 6. 숫자 자료 연산하기!

점심시간까지 세 시간이나 남았어요. 오늘은 국민취업지원제도를 신청한 것이 있어서 고용센터에 상담을 받으러 가야합니다. 취업과 관련된 상담을 필수적으로 세 번 진행해야 하는데, 취업을 위한 과정을 수강하고 있어도 학원 도중에 필수적으로 세 번은 외출하고 상담을 받아야 한다고 하더라구요. ^^ㅠ 이따 수업 도중에 나가야하니... 힘내서 예복습 해볼게요. 이번에는 수학시간... ! 숫자 자료형을 볼게요. 숫자는 두 가지로 구분됩니다. - 정수형 integer : 소수점이 없는 숫자 정수 구분하기 : 0, 양의 정수, 음의 정수 - 실수(부동 소수점)floating point, floating number, float : 소수점이 있는 숫자 실수 구분하기 : 양의 실수, 음의 실수 소수점이 들어가면 무조건 실수..

Tistory

파이썬 공부일지 7. 변수와 입력!

변수는 변할 수 있는 모든 자료를 의미합니다. 모든 자료형의 값을 저장할 수 있습니다. 변수는 값을 저장하기 위해 이름을 지어서 사용하는 이름표예요. 식별자(이름표) 만드는 규칙을 한 번 더 보고 갈게요! https://blue-dot.tistory.com/5?category=972433 파이썬 공부일지 3. 파이썬 출력 용어들! 커피를 좀 마셨더니 덜 졸려요... 다시 공부해.. 봅니당... 파이썬을 출력하기 전에 출력에 있어서 사용되는 가장 기본적인 용어들을 먼저 정리해볼게요. 영어로 말하자면 동사 명사 형용사의 blue-dot.tistory.com 변수를 활용하는 과정! 1. 변수를 선언합니다. pi 를 3.14 로 사용하겠다고 변수를 선언합니다. (pi라는 것을 3.14 로 쓰겠다고 하는 의미..

Tistory

파이썬 공부일지 1. 파이썬 설치하기!

첫 시작! 그동안 다니던 회사를 그만두고, 난생 처음으로 낯선 컴퓨터 언어를 배우기 시작했습니다. 저는 비전공자... 심지어 법학전공이에요! 컴퓨터로 해본 것이라고는 마비노기와 심즈밖에 없습니다. 이제 막 배우면서 정리하는 정리노트와 다름없으니 부족한 부분은 함께 공부하면서 채워가요. 처음에는 영어처럼 문법을 외우고 단어를 외우는 것처럼, 컴퓨터 언어 또한 언어 배우듯이 하면 된다기에 내 지난 십수년의 영어 경력 대비 실력을 상기하며 이건 내 갈길이 아닌가 이마를 백 번 정도 쳤지만 번듯한 이마 함몰될 즈음에서야 용기를 낸 셈이에요. 열심히 할테니 시작의 마음이 기죽지 않게 저랑 같이 공부해주세요! 정말 입문이자 기초부터 하니까 지금부터 탄탄하게 쌓아볼게요. 용어 정리 프로그래밍의 기본 용어를 정리합니다..

Tistory

파이썬 공부일지 2. 파이썬 출력하기!

배부릅니다. 이제 점심도 맛있게 먹었겠다... 공부를 시작합니다. 이제 파이썬을 설치하고 설치 후의 설정까지 만져보았으니 실질적으로 코드를 작성해봅니다. 1. 비주얼 스튜디오 코드로 코드를 작성한 뒤에 -> 텍스트 에디터 2. 윈도우 파워셸에서 코드를 실행하는 것까지 해보겠습니다. -> 코드 실행기 비주얼 스튜디오 코드를 실행합니다. 처음 공부일지 1에서 이미 작성한 코드가 있었습니다. (굶주림에 지친 코드 참고) https://blue-dot.tistory.com/3 파이썬 공부일지 1. 파이썬 설치까지만! 그동안 다니던 회사를 그만두고, 난생 처음으로 낯선 컴퓨터 언어를 배우기 시작했습니다. 처음에는 영어처럼 문법을 외우고 단어를 외우는 것처럼, 컴퓨터 언어 또한 언어 배우듯이 하면 된다 blue-d..

Tistory

파이썬 공부일지 3. 파이썬 출력 용어들!

커피를 좀 마셨더니 덜 졸려요... 다시 공부해.. 봅니당... 파이썬을 출력하기 전에 출력에 있어서 사용되는 가장 기본적인 용어들을 먼저 정리해볼게요. 영어로 말하자면 동사 명사 형용사의 역할들을 살펴보는 것이라고 생각하면 좋을 것 같아요. 간단하게 요약해보고 이것을 순서대로 하나씩 살펴볼게요. 표현식 값을 만들어내는 간단한 코드 키워드 의미가 부여된 특별한 단어로 사용자가 지정하는 이름으로 사용할 수 없음. (식별자로 사용될 수 없어요.) 식별자 프로그래밍 언어에서 이름을 붙일 때 사용 주석 프로그램을 설명할 때 사용하며 프로그램에는 어떠한 영향도 주지 않음 연산자와 자료 연산자는 값과 값 사이에 무언가 기능을 주는 것 자료는 어떠한 값 자체 print() 파이썬의 가장 기본적인 출력방법으로 괄호 안..

1 2