전체 글(190)
-
[ 정수론 - 소수 ] 알고리즘
1. 개념 알고리즘 문제에 자주 나오는 정수론 개념에는 '소수'와 '호제법'이 있다. '소수' 관련 문제는 대부분 특정 범위 내에서 소수의 개수를 구하는 문제가 많이 출제된다. [ 1 ] 소수 소수 : 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 n까지의 숫자 범위 내에서 소수를 찾는 방법 -> '에라토스테네스의 체' ( 1 ) n만큼 일차원 리스트 생성 * 리스트의 값을 인덱스 값으로 초기화 ( 2 ) 리스트에서 지워지지 않았다면 리스트를 탐색하면서 현재 선택된 숫자의 배수를 삭제 * 이때 현재 선택된 숫자는 삭제하지 않는다 ( 3 ) 2에서부터 n의 제곱근까지 ( 2 )를 반복한 뒤 리스트에 남아있는 숫자를 출력 서로소 : 두 수의 공약수가 1 이외에 없는 관..
2023.06.24 -
☕ Java 상속 ( super, 업캐스팅 / 다운캐스팅, instanceof )
상속: 기존의 클래스(부모 클래스)를 재사용하여 새로운 클래스(자식 클래스)를 작성하는 것공통적인 속성(변수)과 기능(메서드)의 수정이 쉬워진다 -> 유지보수, 코드의 확장성 용이코드의 중복을 방지한다 -> 코드 간결, 개발 시간 단축 1 ) 용어 정리- 조상 클래스 = 상위 클래스 = 부모 클래스 = 슈퍼 클래스- 자손 클래스 = 하위 클래스 = 자식 클래스 = 서브 클래스 부모 클래스를 상속받은 자식 클래스 내부에는 부모 클래스의 모든 변수와 메소드가 존재한다즉, 부모 클래스 ⊂ 자식 클래스이때, 생성자와 초기화 블럭은 상속되지 않는다. 오직 멤버(변수, 메소드)만 상속된다. 부모 클래스의 변동은 자식 클래스에 영향을 주지만 자식 클래스의 변동은 부모 클래스에 영향을 주지 않는다 2 ) 상속 선..
2023.06.15 -
☕ Java 캡슐화 ( 클래스/객체, 변수/메서드, 제어자, 생성자, this, getter/setter )
캡슐화 캡슐화 : 클래스 안에 서로 관련이 있는 변수(속성)와 메소드(기능)를 묶어서 외부에서 접근하지 못하도록 보호하는 것Java는 캡슐화를 통해 데이터를 외부로부터 은닉함으로써 보호한다 즉, 내부적으로만 사용되는 데이터를 접근 제어자를 통해 은닉하여 외부로부터 클래스 내 멤버들을 보호하는 것이다 이제 캡슐화를 구현하는 JAVA의 몇몇 개념들을 정리해보자 1. 클래스 / 객체 클래스 : 객체 모양을 선언한 틀 / 객체를 정의해놓은 것객체 : 클래스의 모양대로 생성된 실체클래스로부터 객체를 만드는 과정을 인스턴스화라고 하고 이때 생성된 객체를 인스턴스라고 한다 객체의 생성: 클래스명 변수명 = new 클래스명()이때 변수를 참조 변수라고 하며 참조 변수에는 인스턴스의 주소값이 담기고 인스턴스는 참조..
2023.06.14 -
☕ Java의 객체 지향적 특징 (추상화, 캡슐화, 상속, 다형성)
객체 지향 언어의 목적은 1. 재사용성 2. 유지 보수 3. 중복된 코드의 제거 이고 JAVA는 1. 추상화 2. 캡슐화 3. 상속 4. 다형성 을 이용해 객체 지향 언어의 세가지 목적을 이룬다 캡슐화 : 클래스 안에 서로 연관 있는 변수와 메서드를 캡슐로 만들어 외부에서 쉽게 접근하지 못하도록 보호하는 것상속 : 기존의 클래스(부모 클래스)를 재사용하여 새로운 클래스(자식 클래스)를 작성하는 것다형성 : 부모 클래스에게서 상속받은 자식 클래스의 형태를 다양하게 변경하는 것추상화 : 클래스들의 공통 속성이나 기능을 묶어 상위 클래스를 만들어내는 것
2023.06.12 -
EC.CREW 4기 7주차
이번주에는 각자 JAVA로 시나리오 짠 거를 발표하는 시간을 가졌다! 사실 나는 1. 코드까지 다 완성해서 와야 하는 줄 알고 2. 하다보니까 너무 재밌어서 ( 해리포터 덕질하면서 하니까 과몰입 미쳐버림.... 휴... ) 일주일 내내 여기에 매몰되어 있었다 일주일동안 자발적 밤샘을 했숴... 해리포터 시나리오를 조금 한국적으로 각색해서 시나리오를 짰는데 시나리오가 생각보다 너무 방대해져서 완성하지 못했다..ㅠ 발표 자료 그래서 종강 전까지 : JAVA 객체 지향 부분 좀 더 공부 ( 셤 공부하면서... 티스토리에다가 정리할 예정 ) 종강 후 : 시나리오 각색 좀만 더 하고 GUI 중간중간 추가해서 완성 할 계획이다! 다른 친구들 발표 듣는데 다들 주제도 재밌고 시나리오 내용이랑 자바 문법을 맛깔나게 버..
2023.06.11 -
EC.CREW 4기 6주차
시험 끝나구 오랜만에 EC.CREW 오늘은 '객체 지향 언어' 인 JAVA의 특성을 잘 살려서 코드를 짜보는 시간을 가졌다. JAVA의 객체 지향적 특징인 캡슐화, 상속, 다형성과 이 특징들을 구현할 수 있는 개념들이다. 차근차근 다 정리해봐야지! 수업 시간에 이론 듣고 ppt 예제 받아쓰기만 할 땐 잘 안 와닿았는데 어디에 써먹는 게 효율적인지를 중점으로 서치하고 직접 코드를 짜보니까 확실히 이해도 잘 되고 확 와닿는다! 다음 스터디 때는 저 특징들을 최대한 활용해서 시나리오를 짜보기로 했다. 주제 : 해리포터 최근에 해리포터 정주행해서 지금 완전 과몰입 상태라 잘 할 수 있을 거 같다.... 히히히히 너무 신나 코드 써뒀던 거 잃어버림 ...... 그냥 종강하고 나서 해리포터 시나리오 완성해서 올리는..
2023.06.11